Spring뿌시기/5주차 - 스프링 MVC 1편

서블릿 - 서블릿 사용

ykm1256 2022. 11. 4. 06:05

스프링 부트 서블릿 환경 구성

  • 스프링 부트는 서블릿을 직접 등록해서 사용할 수 있도록 @ServletComponentScan을 지원한다.
@ServletComponentScan //서블릿 자동 등록
@SpringBootApplication
public class ServletApplication {
...
  • @SpringBootApplication에 @ServletComponentScan 애노테이션을 사용하자.

서블릿 등록

@WebServlet(name = "helloServlet", urlPatterns = "/hello")
public class HelloServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse  response) throws ServletException, IOException {
    ...
  • @WebServlet 애노테이션을 사용하여 서블릿을 등록한다.
  • name : 서블릿 이름
  • urlPatterns : URL 매핑
  • HTTP 요청을 통해 매핑된 URL이 호출되면 service 메서드 안의 로직을 수행한다.

HTTP 요청 메시지 로그로 확인

  • application.properties파일에 설정 추가
logging.level.org.apache.coyote.http11=debug
  • 해당 코드를 추가하면 서버가 받은 HTTP 요청 메시지를 출력한다.
  • 단, 운영서버에 모든 요청 정보를 다 남기면 성능저하가 발생할 수 있으므로 개발 단계에서만 적용하자!

 

서블릿 동작 방식

  • 먼저, 스프링 부트에서 내장 톰캣 서버를 생성하면 톰캣 서버에서 서블릿 컨테이너를 생성하고, 서블릿을 생성한다.
  • 그리고 HTTP 요청이 오게 되면 HTTP 요청 메시지를 기반으로 request 객체와 response 객체를 생성한다.
  • 그 다음 request와 response를 파라미터로 넘겨주어 로직을 실행하고 response 객체 정보로 HTTP 응답을 생성한다.

 

 

 

 

 


출처

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1

 

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의

웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., -

www.inflearn.com