@SpringBootApplication
public class Application {
public static void main(String[] args) throws LifecycleException {
// 1. 톰캣 객체 생성
Tomcat tomcat = new Tomcat();
// 2. 포트 설정
tomcat.setPort(8080);
// 3. 톰캣에 컨텍스트 추가
Context context = tomcat.addContext("/", "/");
// 4. 서블릿 생성
HttpServlet httpServlet = new HttpServlet() {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
PrintWriter writer = resp.getWriter();
writer.println("<html><head><title>");
writer.println("Hey, Tomcat");
writer.println("</title><head>");
writer.println("<body><h1>Hello Tomcat</h1></body>");
writer.println("<html>");
}
};
// 5. 톰캣에 서블릿 추가
String servletName = "helloServlet";
tomcat.addServlet("/", servletName, httpServlet);
// 6. 컨텍스트에 서블릿 매핑
// hello라는 요청이 오면 해당 서블릿을 보여준다.
context.addServletMappingDecoded("/hello", servletName);
// 7. 톰캣 실행 및 대기
tomcat.start();
tomcat.getConnector();
tomcat.start();
tomcat.getServer().await();
}
}