-
내장 웹 서버 이해웹개발/SpringBoot 2020. 4. 3. 16:11
웹 애플리케이션으로 none 으로 설정할 경우 웹서비스가 실행되지 않는다. 스푸링부트 자체는 서버가 아니라 내장 서블릿컨테이너를 쉽게 설정할수있게 해주는 툴이다
public class Application { public static void main(String[] args){ SpringApplication application = new SpringApplication(Application.class); application.setWebApplicationType(WebApplicationType.None) } }
톰캣 설정하기
public class Application{ public static void main(String[] args) throws LifecycleException{ Tomcat tomcat = new Tomcat(); tomcat.setPort(8080); Context context = tomcat.addContext("/","/"); HttpServlet servlet = new HttpServlet(){ @Override protected void doGet(HttpServletRequest req, HttpServletResponse){ 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>"); }; String servletName = "helloServlet"; tomcat.addServlet("/", servletName, servlet); //'/' 톰켓에 서블릿 등록 context.addServletMappingDecode("/hello",); //hello 요청이오면 servletName를 보여준다 tomcat.start(); // tomcat.getServer().await(); await시 톰캣 실행후 계속대기한다
톰켓과 서블릿이 자동설정으로 설정된다. 스프링부트 어플리케이션 실행시 톰캣과 서블렛이 실행되며 웹 MVC설정이 된다. 즉 내장톰켓도 자동설정의 일부이다. *spring.factories
Spring.factories
서블릿 웹서버를 자동으로 설정하주는 자동설정이다.
- ServletWebServerFactoryAutoConfiguration (서블릿 웹서버 자동 생성)
- TomcatServletWebServerFactoryCustomizer(서버 커스터마이징)
DisPatchServletAutoConfiguration : 서브릿을 만들고 등록한다 *spring.factories
'웹개발 > SpringBoot' 카테고리의 다른 글
3. 스프링 PSA (0) 2020.04.28 2. AOP(Aspect Oriented Programming) (0) 2020.04.10 1. IOC(Inversion of Controll) / DI(Depengency Injection) / Bean (0) 2020.04.05 내장 웹 서버 응용 ( 톰켓 말고 다른 서버 사용하기) (0) 2020.04.03 - ServletWebServerFactoryAutoConfiguration (서블릿 웹서버 자동 생성)