Servlet

robin Han·2023년 3월 21일
0

Spring

목록 보기
4/13

Servlet

  • Java Servlet 웹 애플리케이션을 동적으로 처리할때 사용되는 클래스이다,

  • 클라이언트의 동작, 요청에 맞춰 동작하고 서블릿 컨테이너 안에서 실행되고 관리된다.

  • 정적 페이지들과 비즈니스 로직을 분리시키고 Request를 받으면 HTTP 형식으로 Response 한다.

    초기화: init() = 서블릿 요청시 한번만 실행되면 서블릿이 변경되면 destory() 메서드들을 통해서 소멸하고, 새로운 init() 메소드를 호출한다.
    소멸: destroy() = 서블릿이 소멸할때 사용되는 메소드로 Garbage Collection 진행
    서비스: Service() = 서블릿이 서비스화, 각 요청들을 처리하고 요청 판별

    Servlet life-cycle

  1. 클라이언트가 HTTP Request를 전송하여 Servlet Container에 전송

  2. Servelet Continaer에서 HttpServletRequest, HttpServletRespose 객체 생성

  3. web.xml을 통해 어떤 sevlet에대한 요청인지 판별

  4. service() 메소드 호출하여 doGet() , doPost() 호출

  5. ServletResponse에 동적으로 만들어진 HTTP 형식으로 Respond

  6. HttpServletRequest, HttpServletRespose 객체 소멸

    Servelt Container

    sevlet들을 관리, 생성, 제거 하기 위한 컨테이너로

  7. 서블릿 생명주기 관리

    • 클래스 로딩하고 인스턴스화, 적절한 서블릿 호출, 서블릿 소멸시 Garbage Collection
  8. 웹서버 통신

  9. 멀티쓰레드 관리

    • 요청이 들어올때 마다 쓰레드 생성
    • 메소드 실행하고나면 자동 소멸
  10. 보안 관리

    서블릿을 사용할때 JVM에서 분리된 쓰레드에서 처리하고, HTTP 요청에 응답하다.

    Reference

    https://velog.io/@han_been/Servlet
    https://code-lab1.tistory.com/210
    https://velog.io/@han_been/%EC%84%9C%EB%B8%94%EB%A6%BF-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88Servlet-Container-%EB%9E%80

0개의 댓글