1. Tomcat은 WAS인가
보통 3 Tier를 얘기할 때 WEB, WAS, DB로 구분하곤 한다. 그럼 최근 많이 사용되는 Tomcat은 WAS(Web Application Server)일까? 정확히 따져보자면 Application Server라고 하긴 어려울 것 같다. 그 이유는, EJB를 지원하고 있지 않기 때문이다. EJB(Enterprise Java Bean)는 기업환경의 시스템을 구현하기 위한 서버측 컴포넌트 모델이다. 즉, EJB는 애플리케이션의 업무 로직을 가지고 있는 서버 애플리케이션이다. EJB 사양은 Java EE의 자바 API 중 하나로, 주로 웹 시스템에서 JSP는 화면 로직을 처리하고, EJB는 업무 로직을 처리하는 역할을 한다.
따라서, Tomcat은 Application Server라고 하기 보다는 Servlet Container라고 하는 것이 정확할 것이다. 이 서블릿 컨테이너는 개발자가 웹서버와 통신하기 위하여 소켓을 생성하고, 특정 포트에 리스닝하고, 스트림을 생성하는 등의 일들을 대신 해준다. 컨테이너는 servlet의 생성부터 소멸까지의 과정(Life Cycle)을 관리한다.
2. Servlet 동작 과정
- Client → Web Server request (Http Request)
- Web Server → Servlet Container request 전달
- Servlet container 객체 생성
- HttpServletRequest 객체 생성
- HttpServeltResponse 객체 생성 (WEB 서버 응답용)
- 요청 URL을 기준으로 어떤 Servlet에 대한 요청인지 확인
- Servlet Container는 service() 메소드를 호출, doGet() 또는 doPost() 호출
- 동적인 페이지 생성 후 HttpServletResponse 객체에 응답 전달
- 완료되면 HttpServletRequset, HttpServletResponse 객체를 소멸
3. Servlet 생명 주기 (LifeCycle)
- init () : 서비스 시작 시 한번 실행
- service : 요청 수행 (doGet, doPost)
- destory() : 서버 종료 시 실행
'IT > MW' 카테고리의 다른 글
[Tomcat] JDBC 옵션 (0) | 2021.05.20 |
---|---|
[WebtoB] WebtoB - JEUS 연결 (0) | 2021.04.10 |
[Apache/Tomcat] mod_jk vs mod_proxy (0) | 2021.04.05 |
[Tomcat] "/", "\" URI에서 사용 (0) | 2021.03.26 |
[Apache] http -> https redirect (mod_write, redirect) (0) | 2021.03.24 |