Tomcat 임 베 디 드 테스트 환경 구축
Tomcat 7 은 포 함 된 웹 용 기 를 지원 합 니 다. 로 컬 테스트 환경 이나 로 컬 응용 장면 에서 비교적 유용 합 니 다. Jetty 와 유사 한 기능 은 Tomcat 이 자신 에 게 부족 하 다 고 생각 하여 Tomcat 7 에 이 기능 을 추 가 했 습 니 다.
Tomcat 7 Embedded 버 전 다운로드:
안에 이 몇 개의 Jar 가방 이 포함 되 어 있 습 니 다.
tomcat-embed-core.jar Tomcat 핵심 패키지, Tomcat 서버 의 주요 구현 포함
tomcat-dbcp.jar Apache DBCP, Tomcat 인 스 턴 스 에 JDBC 통합
tomcat-embed-jasper.jar Tomcat 의 JSP 엔진
ecj-4.2.2.jar Eclipse 에서 온 JSP 컴 파일 러 는 Jasper 엔진 에 JSP 파일 을 컴 파일 하 는 데 사 용 됩 니 다.
tomcat-embed-logging-juli.jar 통합 JULI 로그
tomcat-embed-logging-log4j.jar 통합 Log4j 로그
Servlet 테스트 를 예 로 들 면:
import static org.junit.Assert.assertEquals;
import java.io.IOException;
import javax.servlet.ServletException;
import org.apache.catalina.Context;
import org.apache.catalina.LifecycleException;
import org.apache.catalina.startup.Tomcat;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.xml.sax.SAXException;
public class TomcatServletTest {
private Tomcat tomcat;
@Before
public void startTomcat() throws ServletException, LifecycleException {
tomcat = new Tomcat();
tomcat.setPort(8080);
String tmpDirPath = System.getProperty("java.io.tmpdir");
Context ctxt = this.tomcat.addContext("/sqrt", tmpDirPath);
Tomcat.addServlet(ctxt, "servletTest", new ServletTest());
ctxt.addServletMapping("/", "servletTest");
this.tomcat.start();
}
@Test
public void testSuccess() throws IOException, SAXException {
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpGet httpget = new HttpGet("http://localhost:8080/sqrt/?number=49");
CloseableHttpResponse response = httpClient.execute(httpget);
try {
response = httpClient.execute(httpget);
HttpEntity entity = response.getEntity();
System.out.println(EntityUtils.toString(entity));
assertEquals("The result is 7.0", EntityUtils.toString(entity));
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
response.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
@After
public void stopTomcat() throws LifecycleException {
this.tomcat.stop();
}
}
import java.io.IOException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletTest extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws IOException {
Double input = Double.parseDouble(request.getParameter("number"));
double result = Math.sqrt(input);
String message = "The result is " + result;
response.getOutputStream().write(message.getBytes());
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
EC2 인스턴스에 Tomcat 설치전제 조건: Amazon 계정이 있어야 합니다. Amazon 계정에 로그인하고 EC2 인스턴스를 시작합니다. 여기에서 프리 티어를 선택했고 Amazon Linux 2를 실행하는 EC2 인스턴스를 시작했습니다. 시작 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.