-
서블릿은 request,response객체를 통해 HTTP요청/응답을 쉽게 처리, 조립 해주는 기술
-
만약 개발자가 이를 직접 개발해야 한다면 의미있는 비즈니스 로직 외에 너무 많은 개발 로드
- 그래서 서블릿이 등장하고, 핵심에서 벗어난 개발로드를 서블릿이 간편하게 처리
- 이후 등장한 Controller는 내부적으로 서블릿 기능을 사용하여 사용자 요청을 더 간편하게 처리
-
서블릿을 통한 사용자 요청 처리 방법

- urlPatterns(/hello)의 URL이 호출되면 코드가 실행
- HttpServletRequest객체
- ServletRequest인터페이스 상속
- 클라이언트 요청 데이터에 접근하는 메서드를 제공
- 사용자의 http 요청 header, body 등을 담고 있는 객체
- HttpServletResponse객체
- ServletResponse인터페이스 상속
- 해당객체에 응답값에 필요한 값만 세팅해주면 http응답 간단히 생성
-
WebServlet와 Controller의 차이
- webservlet 어노테이션
- class단위로만 url을 지정해야 함
- 기존의 url 맵핑은 web.xml을 사용하여 별도 매핑 파일을 만들어야 했으나, servlet 3.0이후부터는 어노테이션으로 대체 가능
- Controller
- 클래스 뿐만아니라, 메서드 단위로도 url지정가능
- 서블릿 기술은 Controller의 근간이고, Controller는 더 많은 편의를 제공
- 서블릿(Servlet) 기술은 코드상에서 사용하는 방식만 달라졌을 뿐 Spring MVC 및 RESTful API 서비스를 개발하는 데 중요한 근간이 되는 기술