[WAS] request-response 작동 순서
Request 부터 Response까지의 작동 순서
WAS
- 동적인 컨텐츠를 제공하기 위해 만들어진 Application Server
- 주요 기능
- 프로그램 실행환경, DB 접속
- 여러 개의 트랜잭션 관리
- 업무처리 비즈니스 로직 수행
- WAS 예
- Tomcat, JBoss, Jeus, … 등
- WS는 클라이언트로부터 HTTP 요청 받음
- WS는 받은 요청을 WAS에 전송
- WAS는 관련된 Servlet을 메모리에 올림. -
Servlet.init()
- WAS는 web.xml을 참조해 해당 Servlet에 대한 Thread를 생성 (Thread Pool 이용)
- HttpServletRequest, HttpServletResponse 객체 생성해 Servlet에 전달
- Thread는 Servlet의 service() 메서드 호출
- service() 메서드는 요청에 맞게 doGet() 또는 doPost() 메서드를 호출
- doGet(), doPost() 메서드는 인자에 맞게 생성된 적절한 동적 페이지를 Response 객체에 담아 WAS에 전달
- WAS는 Response 객체를 HttpResponse 형태로 바꾸어 Web Server에 전달
- 생성된 Thread를 종료하고, HttpServletRequest & HttpServletResponse 객체를 제거