말하는 감자

[스프링부트 스터디] 서블릿 (1) 본문

Backend

[스프링부트 스터디] 서블릿 (1)

개똥벌레25 2021. 7. 22. 15:57
728x90

서블릿

- HTTP통신을 할 때, 비즈니스 로직 구현을 제외한 반복되는 절차(소켓 연결, 파싱, 응답 헤더 붙이기, 소켓 종료 등)를 자동화해준다. 

- 개발자는 HttpServletRequest HttpServletResponse 객체를 가지고 비즈니스 로직만 구현하면 된다.

- 스프링이어야할 필요는 없지만 톰캣이라는 서버가 내장되어있어서 편리함때문에 사용

- 컨테이너에 서블릿 자동등록 어노테이션: @ServletComponentScan

@ServletComponentScan //서블릿 자동등록
@SpringBootApplication
public class ServletApplication {

	public static void main(String[] args) {
		SpringApplication.run(ServletApplication.class, args);
	}

}

- 서블릿 코드의 기본 구성:

   HttpServlet 상속 받기
   @WebServlet(name = "(관례적으로 클래스 이름과 동일)", urlPatterns="(url 매핑)")

   protected service 메서드 오버라이드

- HTTP 요청을 통해 매핑된 URL이 호출되면 서블릿 컨테이너는 service 메서드를 실행한다.

@WebServlet(name = "helloServlet", urlPatterns = "/hello")
public class HelloServlet extends HttpServlet {

    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) 
    throws ServletException, IOException {
        ...
    }
}

 

Comments