카테고리 없음
[JSP] - (Servlet) 서블릿 동작 과정, 애너테이션
맹이맹이
2021. 3. 11. 09:43
반응형
위 그림은 2명의 클라이언트가 서블릿을 요청하면, 서블릿이 처리하는 과정을 나타낸다
- 클라이언트 1이 요청하면 톰캣은 요청 서블릿이 메모리에 로드되어 있는지 확인
- 만약 없다면 init()를 호출하여 서블릿 인스턴스를 메모리에 로드한다
- 추후 서비스 제공
- 클라이언트 2가 클라이언트 1과 같은 서블릿을 요청하면 톰캣은 서블릿이 메모리에 로드되어 있는지 확인
- 메모리에 서블릿이 있으므로 바로 서비스 실행
- 즉, init() 호출하지 않음
애너테이션
- 각 서블릿 클래스에 기호(@)를 사용해서 서블릿 표시를 해준다.
- 가독성이 좋아진다.
패키지를 선택하고 new -> others -> Servlet 선택
클래스 이름 입력
빨간 부분 더블클릭
원하는 서블릿 매핑 이름으로 변경
옵션 설정
이렇게 생성하면 빨간색처럼 추가된 매핑 이름을 확인할 수 있다.
import java.io.IOException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/thirdServlet")
public class ThirdServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void init(ServletConfig config) throws ServletException {
System.out.println("init 호출");
}
public void destroy() {
System.out.println("destroy 호출");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("doget 호출");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("dopost 호출");
}
}
이렇게 수정하고
주소창에 이렇게 입력하면
실행 성공~
추천도서



반응형