ARTICLE CATEGORY

분류 전체보기 (16)
GTK+ 3 Reference (2)
I. GTK+ Overview (0)
II. GTK+ Core Reference (0)
III. Theming in GTK+ (0)
IV. GTK+ Widgets and Objects (0)
VI. GTK+ Tools (0)
GTK+3 Tips (1)
C/C++ (0)
JAVA (0)
PHP (0)
Assembly (5)
Windows (0)
Linux (2)
마컴 (3)
Internet (1)
  • Total hit
  • Today hit
  • Yesterday hit

How Tomcat Wroks(톰캣 최종 분석) - Tomcat 4&5 Reading Summary

들어가면서

Servlet Container의 작동원리

서블릿 컨테이너가 서블릿에 대한 요청을 처리할 때 기본적으로 하는 일은 세가지

  • 요청 객체(Request object)를 생성하고, 호출된 서블릿이 사용할 파라미터, 해더, 쿠키, 질의문(Query String), URI와 같은 정보를 이 요청 객체에 채운다.
    요청 객체는 javax.servlet.ServletRequest나 javax.servlet.http.HttpServletRequest 인터페이스(Interface)의 인스턴스(Instance)이다.
  • 서블릿이 웹 클라이언트에 응답을 보낼 때 사용할 응답 객체(response object)를 생성한다. 응답 객체는 javax.servlet.ServletResponse나  javax.servlet.http.HttpServletResponse 인터페이스(Interface)의 인스턴스(Instance)이다.
  • 서블릿의 service 메소드(Method)에 요청 객체와 응답 객체를 전달해 호출한다. 여기서 서블릿은 요청 객체로 부터 값을 읽어들이고 응답 객체에 값을 쓴다.

Catalina 구성도

Catalina는 세련되게 설계되고 개발된, 매우 정교한 소프트웨어의 일부분이며 모듈화 되어있다.

catalinamodule.PNG

Connector는 요청을 Container에 연결해주는 Module.

Connector의 역할은 전달받은 각 HTTP 요청에 대해 요청 객체(Request object)와 응답 객체(Response object)를 구성하고, Container에 전달하는 것이다. Container는 Connector로부터 요청 객체(Request object)와 응답 객체(Response object)를 전달 받고, Servlet의 service method를 호출할 책임을 진다.

 

예를 들어 Servlet를 load하고, 사용자를 인증하고, 해당 사용자의 Session을 갱신 하는 등의 많은 일들이 Servlet의 service method를 호출하기 전에 수행돼야 한다. 따라서 Container가 각각의 작업을 위해 서로 다른 여러 모듈을 사용한다. 사용자의 Session을 처리하는 Manager Module, Servlet class를 Load하는 Loader Module등 여러 Module이 존재한다.

 

 

 

이 글은 스프링노트에서 작성되었습니다.

AND

StudioEgo의 Mobile Blog

블로그 이미지
새롭게 시작하는 Mobile Blog입니다. 여기서는 Mobile 관련 뉴스, 프로그래밍(주로 Android, Linux, GTK+, Windows Phone, iOS, etc)등 모바일 관련 내용을 쭉 올리는 블로그입니다.
by StudioEgo