[서블릿 API 계층 구조]
servlet 계층구조
Servlet 인터페이스
- java.servlet 패키지
- init(), service() , destory(), getServletInfo(), getServletConfig()
ServletConfig 인터페이스
- java.servlet 패키지
- getInitParamter(), getInitParameterNames(), getServletContext(), getServletName()
GenericServlet 클래스
- java.servlet 패키지
- servlet , servletConfig 인터페이스 구현 클래스
HttpServlet 클래스
- java.servlet.http 패키지
- GenericServlet 상속받아 HTTP 프로토콜 사용
- service()가 호출되면서 요청방식에 따라 doGet(), doPost()
- doDelete(req,res), doGet(req,res) , doHead(req,res), doPost(req,res)
서블릿 생명주기
init() -> doGet(), doPost() -> destory()
서블릿 만들기
[톰캣 lib 디렉토리의 servlet-api.jar 선택]
[web.xml 기본서블릿매핑]
단점:설정이복잡해져서 톰캣7 버전부터는 xml에 선언하지 않고 애너테이션 설정
<servlet>
<servlet-name>aaa</servlet-name>
<servlet-class>sec01.ex01.FirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>aaa</servlet-name>
<url-pattern>/first</url-pattern>
</servlet-mapping>
[@WebServlet("경로") 선언]
xml에 따로 정의하지 않아도 됨.