• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

서블릿 관련하여 제가 이해한 내용 중에 틀린 부분이 있는지 궁금합니다.

24.01.25 00:21 작성 24.01.25 00:44 수정 조회수 193

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]

 

서블릿을 따로 공부한 적이 없어서 구글링을 조금 해 봤지만 제대로 이해한 건지 확신이 안 갑니다. 제가 이해한 내용 중 오류가 있는지 궁금합니다.

 

아래 코드는 강의에서 사용했던 코드입니다.

@WebServlet(name = "requestBodyJsonServlet", urlPatterns = "/request-body-json")
public class RequestBodyJsonServlet extends HttpServlet {
.
.
.
}

 

  1. RequestBodyJsonServlet이 서블릿인 이유는 HttpServlet를 상속했기 때문이며, @WebServlet 때문에 서블릿인 것은 아니다. 하지만 서블릿으로서 동작하려면 @WebServlet이 필요하다.

 

  1. @WebServlet은 이 서블릿에 URL을 매핑하기 위함이며, @ServletComponentScan이 서블릿을 서블릿 컨테이너에 등록할 때도 @WebServlet이 붙은 클래스들을 서블릿 컨테이너에 등록한다.

 

  1. RequestBodyJsonServlet이 HttpServlet를 상속하여 서블릿의 조건을 만족하고, @WebServlet을 클래스 레벨에 붙임으로써, @ServletComponentScan에 의해 서블릿 컨테이너에 등록될 수 있게 되었지만 스프링 빈으로 등록된 것은 아니다.

 

  1. DispatcherServlet은 스프링 빈으로 등록된다.

 

저는 이렇게 이해했는데 틀린 내용이 있는지 궁금합니다.

답변 1

답변을 작성해보세요.

1

안녕하세요. 11 1님

1~3번 까지는 생각하신 내용이 맞습니다. 4번의 경우 DispatcherServlet은 스프링 빈으로 등록되는 것이 아니라 서블릿으로 등록됩니다.

감사합니다.

11 1님의 프로필

11 1

질문자

2024.01.25

서블릿으로 등록되는 건 강의에서 설명이 나와서 알고 있었는데

스프링 빈으로 등록된다는 말을 구글링하다가 봤는데 잘못된 내용이었나 보네요.. 답변 감사합니다!