Tomcat
●Tomcat이란?
- 웹 서버와 웹 컨테이너의 결합한 형태이며, 현재 가장 일반적이고 많이 사용되는 WAS
- 컨테이너, 웹 컨테이너, 서블릿 컨테이너라고도 부르며 JSP와 서블릿 처리, 서블릿의 수명 주기 관리, 요청 URL을 서블릿 코드로 매핑, HTTP 요청 수신 및 응답, 필터 체인 관리 등을 처리해줌
●서블릿이 무엇인가?
- 서블릿은 자바를 이용해 웹 서비스를 만들기 위한 스펙이며, 클라이언트가 프로그램으로 요청을 보내면 그 요청에 대한 결과를 응답해주기 위해서 사용되며, 서블릿은 다음과 같이 동작
1.사용자가 URL을 입력하면 사용자의 요청이 서블릿 컨테이너로 전송
2.요청을 받은 컨테이너는 HttpServletRequest, HttpServletResponse를 생성
3.서블릿 매핑 정보를 이용해 사용자가 요청한 경로를 처리할 수 있는 서블릿을 찾음
4.서블릿의 service 메서드를 호출하고 HTTP 메서드 여부에 따라서 doGet(), doPost()를 호출
5.각 메서드는 요청을 처리하고 HttpServletResponse 객체를 이용해 응답을 처리
●서블릿의 생명주기
- 사용자의 요청이 들어오면 서블릿 컨테이너가 서블릿이 존재하는지 확인하고 없는 경우 init() 메서드를 호출하여 생성하며, 이후 요청은 service() 메서드를 실행하며, 만약 서블릿에 종료 요청이 들어오는 경우에는 destroy() 메서드를 호출