본문 바로가기
Back-End/JSP

[JSP] Servlet(서블릿)

by 찐코딩 2021. 10. 24.

Servlet

  - 서버 쪽에서 실행되면서 클라이언트의 요청에 따라 동적으로 서비스를 제공하는 자바 클래스
  - 서블릿은 자바로 작성되어 있으므로 자바의 일반적인 특징을 모두 가지고 있음
  - 서블릿은 서버에서 실행되다가 웹 브라우저에서 요청을 하면 해당 기능을 수행한 후 웹 브라우저에게 결과를 전송함
  - 서버에서 실행되기 때문에 보안과 관련된 기능도 훨씬 안전하게 수행이 가능함
  

Servlet Life Cycle(서블릿 생명 주기)

* init()

- 단 한번만 호출이 됨.
- 서블릿이 서비스하기 위해 필요한 초기화 작업을 수행을 함.

 

* service()

- init() 메서드가 service() 메서드를 호출을 함.
- 사용자의 요청에 따라 스레드 단위로 실행되는 메서드임. (여러 번 실행)
- 각각 service() 메서드를 통해서 doGet(), doPost() 메서드가 호출이 됨.
- 파라미터인 HttpServletRequest 객체와 HttpServletResponse 객체를 통해서 사용자의 요청을 처리함.


  * destory()

- 서블릿이 종료 요청이 오면 한 번만 호출되는 메서드

- 서블릿이 종료되면서 정리할 작업이 있으면 destory() 메서드를 오버라이딩(재정의) 해서 구현을 함.

 

Servlet 동작 과정

  - 클라이언트가 요청을 하면 요청하는 서블릿이 메모리에 로딩이 되어 있는지 확인을 함.
  - 최초의 요청이면 init() 메서드를 호출하여 요청하는 클래스의 인스턴스(객체)를 메모리에 로딩을 함.
  - 그런 다음 doGet()이나 doPost() 메서드를 호출하여 서비스를 함.
  - 클라이언트가 다시 동일한 서블릿을 요청을 하면 톰캣은 요청하는 서블릿이 메모리에 로딩이 되어 있는지를 확인을 함.
  - 이번에는 메모리에 로딩이 되어 있는 것이 확인이 되므로 바로 doGet()이나 doPost() 메서드를 호출함.
   

 Servlet 방식

  - 웹 개발을 위한 표준이 되는 클래스를 말함.
  - 웹 브라우저의 요청을 스레드 방식으로 처리하는 기술을 말함.
  - 서버 쪽에서 실행되면서 클라이언트의 요청에 따라 동적으로 서비스를 제공하는 자바 클래스임.
  - 처리해야 할 일들을 기술하는 곳.
  - 서블릿은 일반 자바 프로그램과 다르게 독자적으로 실행되지 못하고 톰캣과 같은 서버에서 실행이 됨.

 

서블릿의 특징

* 서버쪽에서 실행되면서 기능을 수행함.
* 기존의 정적인 웹 프로그램의 문제점을 보완하여 동적인 여러 가지 기능을 제공함.
* 스레드 방식으로 실행이 됨. - 중요
* 클라이언트의 요구를 처리하는 기능을 최초 한 번만 메모리로 로딩이 됨.

'Back-End > JSP' 카테고리의 다른 글

[JSP] JSP에서의 주석  (0) 2021.10.25

댓글