Servlet

sky·2021년 1월 7일
2

JSP

목록 보기
1/3

서블릿(Servlet)이란?

서블릿(Servelt)은 웹 컨테이너로 관리되며, 다양한 클라이언트로 동적인 콘텐츠로 응답 가능한 자바 기반의 웹 컴포넌트다.
한 마디로 정리하자면 자바로 웹페이지를 구현하는 기술이다.

Servlet의 특징

  • 자바 기반의 웹 컴포넌트로서 java 확장자를 갖는다.
  • 클라이언트의 요청에 의해서 동적으로 실행된다.
  • 클라이언트는 브라우저를 이용한 URL 지정을 통해 서블릿에 요청할 수 있다.
  • MVC 패턴을 적용하여 웹 어플리케이션을 개발한다면 서블릿이 아닌 JSP에서 HTML 코드를 작성한다.
  • MVC 패턴의 Controller 역할을 한다.

Servlet의 동작 과정

  1. 클라이언트에서 URL을 입력하여 HTTP Request가 Servlet Container로 전송한다.
  2. Servlet Container에서 HttpServletRequest와 HttpServletResponse 객체 생성한다.
  3. web.xml 또는 @WebServlet 어노테이션을 사용하여 실행할 서블릿을 지정한다.
  4. 해당 서블릿을 실행하면서 init() 메소드를 통해 객체 생성한다.
  5. 서블릿의 service() 메소드를 통해 클라이언트의 요청 방식에 따라 doGet() 또는 doPost() 메소드로 나뉘어 실행한다.
    (ex. Get 방식이라면 doGet(), Post 방식이라면 doPost()를 실행하게 된다.)
  6. doGet() 또는 doPost() 메소드를 통해 동적 페이지를 생성하고 HttpServletResponse 객체에 요청한 것을 응답한다.
  7. 모든 요청의 응답이 끝나면 HttpSErvletRequest와 HttpServletResponse가 destroy() 메소드를 통해 제거된다.

Servlet Life Cycle

  • init() : Servlet Web Container를 통해 서블릿이 메모리에 로딩. 서블릿에서 필요한 초기화 작업을 담당하며, 한 번만 실행된다. 만약 내용이 변경될 경우 기존의 서블릿은 삭제되고 init()을 통해 다시 생성된다.
  • service() : 클라이언트가 요청할 때마다 실행된다. 클라이언트의 요청 방식에 따라 doGet() 또는 doPost() 메소드로 나뉘어 실행한다.
  • destroy() : 모든 요청의 응답이 끝나고 서블릿 인스턴스가 웹 컨터이너에서 제거될 때 실행되며, init()과 마찬가지로 한 번만 실행된다.

참조 : https://mangkyu.tistory.com/14

profile
keep going

0개의 댓글