서블릿은 서버쪽에서 실행되며, 클라이언트의 요청에 따라 동적으로 서비스를 제공하는 자바 클래스 입니다. 하지만, 자바와 달리 tomcat과 같은 JSP/Servlet 컨테이너에서만 실행된다는 점이 다릅니다.
1.Servlet의 특징
- 서버쪽에서 실행됩니다.
- 기존의 정적인 웹을 보완하여, 동적인 기능을 실행합니다.
- Thread방식으로 실행됩니다.
- 컨테이너에서 실행됩니다.
2. Servlet API의 계층 구조
- HttpServlet
-- GenericServlet
-- Servlet / ServletConfig
Servlet API 기능
Servlet Interface
- javax.servlet 패키지에 선언
- Servlet 관련 추상메서드를 선언
- init(), service(), destroy(), getServletInfo(), getServletConfig()를 선언
ServletConfig Interface
- javax.servlet 패키지에 선언
- Servlet 관련 추상메서드를 선언
- getInitPrameter(), getInitParameterNames(), getServletContext(), getServletName()이 선언
GenericServlet Class
- javax.servlet 패키지에 선언
- 상위 두 Interface를 구현하여 일반적인 Servlet 기능을 구현
- GenericServlet을 상속받아 구현한 사용자 서블릿은 사용되는 protocol에 따라 service()를 오버라이딩해서 구현
HttpServlet Class
- javax.servlet.http 패키지에 선언
- GenericServlet을 상속받아 HTTP Protocol을 사용하는 웹 브라우저에서 서블릿 기능 수행
- 웹 브라우저 기반 서비스를 제공하는 서블릿을 만들 때 상속받아 사용
- 요청 시 service()가 호출되면서 요청 방식에 따라 doGet()이나 doPost()가 차례대로 호출됌
참고도서 : 자바 웹을 다루는 기술 - 이병승