웹 개발 기초/자바 웹을 다루는 기술

서블릿 API 계층 구조와 기능

sungw00 2023. 2. 14. 13:36
728x90

서블릿은 자바로 만들어졌기 때문에 클래스들 간의 계층 구조를 가짐.

서블릿 API는 Servlet과 ServletConfig 인터페이스를 구현해서 제공, GenericServlet이 Servlet, ServletConfig 인터페이스의 추상 메서드를 구현. 그리고 HttpServlet이 GenericServlet을 다시 상속받음.

 

서블릿 API 기능

서블릿 API 구성 요소 특징

서블릿 구성 요소 기능
Servlet 인터페이스 - javax.servlet 패키지에 선언되어 있음
- Servlet 관련 추상 메서드를 선언함
- init(), service(), destroy(), getServletInfo(), getServletConfig() 를 선언함
ServletConfig 인터페이스 - javax.servlet 패키지에 선언되어 있음
- Servlet 기능 관련 추상 메서드가 선언되어 있음
- getInitParameter(), getInitParameterNames(), getServletContext(), getServletName() 이 선언되어 있음
GenericServlet 클래스 - javax.servlet 패키지에 선언되어 있음
- 상위 두 인터페이스를 구현해서 일반적인 서블릿 기능을 구현한 클래스
- GenericServlet을 상속받아 구현한 사용자 서블릿은 사용되는 프로토콜에 따라 각각 service()를 오버라이딩해서 구현함
HttpServlet 클래스 - javax.servlet.http 패키지에 선언되어 있음
- GenericServlet을 상속받아 HTTP 프로토콜을 사용하는 웹 브라우저에서 서블릿 기능을 수행함
- 웹 브라우저 기반 서비스를 제공하는 서블릿을 만들 때 상속받아 사용
- 요청 시 service()가 호출되면서 요청 방식에 따라 doGet()이나 doPost()가 차례대로 호출됨

 

728x90