Servlet이란

안시우·2024년 5월 22일

SERVLET

목록 보기
2/7

1. Servlet의 JSP의 차이점

♟️ Servlet

  • 서버환경에서만 돌아간다.
  • 자바이지만, 그 안에 문자열 형태로 html이 있다.
  • 네트워크로 클라이언트에게 html을 전달한다.

♟️ JSP

  • Servlet의 단점을 보안한 프로그램이다.
  • html로 보이지만 서블릿이다.
    (내부에서 서블릿으로 변환해서 프로그램이 돌아간다.)
  • 그 안에 자바언어를 비슷하게 사용할 수 있다.

2. Servlet의 실행과정

  • 클라이언트가 페이지를 요청한다.
    (get 또는 post 방식으로 요청한다.)
  • 요청한 페이지가 Html이면 WAS가 찾아서 보내준다.
  • 요청한 페이지가 Servlet이면 WAS는 이 페이지가 있는지 확인한다.
  • 있다면 HttpServletRequest와 HttpServletResponse 객체를 생성한다.
  • 해당 Servlet 객체를 생성하고, 사용자의 요청을 처리할 Thread를 생성한다.
    (HttpServletRequest는 모든 요청 정보를, HttpServletResponse는 모든 응답 정보를 가지고 있다.)
  • Servlet의 service() 메소드를 호출하고, 요청방식(get,post)에 따라서 어떤 메소드를 호출할지 결정한다.
  • 요청방식에 따라 doGet() 또는 doPost()메소드를 호출할 때, 매개변수로 HttpServletRequest와 HttpServletResponse 두어 사용자의 요청을 처리하고, 응답을 작성한다.
  • 작성된 응답을 클라이언트에 전송한다.
  • Thread는 소멸한다.

3. GET 방식과 POST 방식

♟️ GET 방식(url)

  • 서버에 있는 정보를 가져오기 위해 설계되었다.
  • 240바이트까지 전달할 수 있다.
  • QUERY_STRING 환경변수를 통해 전달된다.
  • 형식 : http://xxx.xxx.co.kr/servlet/login?id=tom&name=ari
  • URL노출로 보안성이 요구되는 경우에는 사용할 수 없다.
  • anchor안에 줄 수 있다.

♟️ POST 방식

  • 서버로 정보를 올리기 위해 설계되었다.
  • 데이터크기가 무제한이다.
  • 헤더에 데이터가 들어가서, 보안에 안전하다.
  • 폼안에서만 넣을 수 있다는 제한이 있다.

4. Servlet의 라이프 사이클 관련 메소드 정리

♟️ init() :

  • Servlet 객체를 디폴트 생성자를 이용해 생성할 때,
    init()메소드를 사용해서 서블릿 객체를 초기화한다.
  • 한 번만 호출된다.

♟️ service() :

  • HTTP 메소드를 참조하여 doGet()을 호출할지, doPost()를 호출할지 결정한다.
  • 요청이 있을 때마다 호출된다

♟️ destroy() :

  • Servlet이 소멸될 때 호출된다.
  • 자원해제와 관련된 작업을 한다.
  • init() 메소드와 같이 한 번만 호출된다.

0개의 댓글