티스토리 뷰

SPRING 공부/서블릿

Spring Servlet의 원리

CodingDreamTree 2022. 1. 19. 01:59

Servlet이란?

     웹 프로그래밍에서 클라이언트 요청을 처리하고 , 처리결과를 클라이언트에 전송하는 기술 자바로 구현된

     CGI(Common gateway Interface)이다.

     

 

Servlet의 생명 주기

Web Server 에서 HttpRequest를 Web container에게 위임한다.

클라이언트 URL 요청이 들어오면, WebContainer가 URL 매핑을 통해 Servlet을 실행한다.

처음 실행시 Init()메서드를 통해 Servlet을 초기화한다.

Serlvet이 메모리에 적재되어있으면 Thread를 생성하고 Service()를 실행해 요청에 대한 처리와 응답을 수행한다.

service()메소드 실행시 method 타입에 따라 doGet() , doPost()가  호출된다.

요청이 끝나면 Thread는 종료되고 제거된다. (그러나 톰캣에서는 Servlet 객체를 메모리에 남겨둔다.)

Servlet를 종료하려면 destroy()호출 하여 Servlet제거한다. 그러나 이는 자원 소모가 많이 되므로

톰캣에서는 이 Servlet객체를 메모리에 그대로 냅두게 된다.

 

WAS Servlet의 과정

톰캣에서는 thread 생성 갯수를 초기값으로 200개로 제한하고 있다.

이 Thread는 클라이언트의 요청마다 하나씩 분배 되게 한다.

 

 

 

DispatcherServlet이란?

Web container의 Servlet이 호출하는 Spring MVC 에 쓰이는 Servlet이다. servlet-context에서 해주는 역할을 대리로

해주며 <servlet></servlet>과 같은 일일히 URL맵핑을 하지 않고 Spring 어노테이션인 RequestMapping을 작성하여

Handler Mapping을 해주게 된다.

 

Spring DispatcherServlet의 구조

 

 

'SPRING 공부 > 서블릿' 카테고리의 다른 글

Spring Interceptor  (0) 2022.07.13
서블릿 필터  (0) 2022.07.10
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함