HTTP 요청과 응답
Accept : 모든 컨텐츠 타입을 수용하겠다, html만 받고 싶
스프링부트의 컨테이너리스
servlet container와 관련된 번거롭고 복잡한 지식이나 작업을 요구하지 않고
spring container 에 들어가는 애플리케이션 코드
빈이라고 불리는 component개발에만 집중하고
servlet container와 관련된 설치 배포 관리에 대해 신경쓰지 않도록 구성하는 작업에 대해서 살펴보자
우리의 관심사는 Servlet container를 직접 설치하지 않고 어떻게 동작하게 만들 것이냐
직접 신경쓰지 않도록 할 것이냐가 관건이다.
Servlet container를 설치하는 대신 stand alone 프로그램을 만들고 이 servlet container를 띄워주는 작업을 해야한다.
Servlet 하나만 만드는 작업을 먼저 해보자.
web application이 동작하는지 알아보기 위함이다.
먼저 빈 Servlet container를 띄워보
Servlet은 자바의 표준 기술이고
이 표준기술을 구현한 container 제품들이 많이 나와있다.
거의 servlet container의 대명사라고 할 수 있는 것이 tomcat이다.
tomcat을 가져와서 main method에서 실행해보자
tomcat을 설치하지 않고 어떻게 실행시킬 것이냐
tomcat도 자바로 만든 것이기 때문에, 정보만 알면 실행시킬 수 있다
그것이 embeded tomcat (내장형 톰캣) -> 스프링 부트로 실행시 라이브러리에 들어와 있는 톰캣을 실행시킨다.
package com.example.tobyboot;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.boot.web.server.WebServer;
public class TobybootApplication {
public static void main(String[] args) {
TomcatServletWebServerFactory serverFactory = new TomcatServletWebServerFactory();
// TomcatServletWebServerFactory serverFactory = new JettyServletWebServerFactory();
WebServer webServer = serverFactory.getWebServer();
// 톰캣 서블릿 컨테이너가 동작한다.
webServer.start();
System.out.println("Hello containerless Standalone Application");
}
}
'강의 > 토비의 스프링부트' 카테고리의 다른 글
자바코드 구성 정보 사용 (0) | 2023.02.21 |
---|---|
di 적용 (0) | 2023.02.20 |
Dependency injection (0) | 2023.02.20 |
프론트 컨트롤러 // 스프링 컨테이너 (0) | 2023.02.20 |
토비의 스프링부트 (0) | 2023.02.19 |