불로구

(Servlet) 서블릿 동작 과정, 애너테이션 본문

프로그래밍/WEB

(Servlet) 서블릿 동작 과정, 애너테이션

맹이맹이 2021. 3. 13. 16:35
반응형

위 그림은 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 호출");
	}

}

이렇게 수정하고

주소창에 이렇게 입력하면

실행 성공~

 

추천도서

스프링5 레시피:스프링 애플리케이션 개발에 유용한 161가지 문제 해결 기법, 한빛미디어 배워서 바로 쓰는 스프링 프레임워크:AOP 보안 메시징부터 스프링 웹 MVC까지 실용적인, 한빛미디어 JSP Web Programming:웹 서비스&애플리케이션 개발을 위한 입문서, 예문사

반응형
Comments