[Spring] Servlet ,Servlet Container ?

정훈·2022년 10월 3일
0

spring

목록 보기
1/1

Spring 만 무작정 보고 회사에서 실무를 하다보니,

Servlet이란 개념조차 모르고있었다 .

Servlet 생명주기

  • 클라이언트 요청이들어오면 서블릿 컨테이너에 서블릿이 있는지 확인하고 없으면 init()호출하여 적재
  • 클라이언트 요청에 따라서 service() 메서드를 통해 요청에 대한 응답이
    doGet(), doPost() 로 분기 ,이때 HttpServletRequest, HttpServletResponse 에 의해 request, response 객체가 제공된다.
  • 종료요청을 하게되면 destroy() 메서드가 호출 . 종료시 처리작업은 오버라이딩 하여 구현

Servlet 동작 방식

  • 사용자가 URL 입력시 HTTP Request가 Servlet Container로 전송함
    URL 호출시 서블릿코드 실행

  • 요청을 전송받은 Servelt Container 는 HttpRequest,HttpResponse 객체를 생성

  • 사용자가 요청한 URL이 어느 서브릿에 대한 요청인지 찾는다.

  • service 메서드 호출 후 클라이언트의 GET ,POST 여부에 따라 doGET(),doPost()를 호출

  • 동적 페이지를 생성후 HttpServletResponse 객체에 응답을 보냄

  • 응답 후 소멸

Servlet Container ?

  • 서블릿 객체를 생성하고 초기화, 호출 종료하는 생명주기를 관리한다 . 클라이언트의 요청을 받고
    응답 할 수있도록 웹서버와 소켓으로 통신
  • http요청 메시지 파싱 , Content-type 확인,Http 응답 메시지 생성 등 작업 을 대신 처리

Spring Container ?

  • Container는 개발자를 대신해서 Bean 을 생성,관리,제거 한다.
  • 여기서 말하는 Bean은 스프링에서 객체이다 또한 Bean을 관리하기위해 IoC 컨테이너(BeanFactory) 가 해당이되면서 이 컨테이너가 상속되면서 부가기능을 추가한게 ApplicationContext이다 .

0개의 댓글