1. 웹서버(Web Server)
ex) Apache, Ngix, Webtob 등
클라이언트의 요청을 받아 정적인 페이지(웹 페이지, 이미지)를 HTTP 프로토콜을 통해 전송.
클라이언트의 요청 중 자체적 처리가 불가능한 정보에 대해 WAS에 처리 요청.
요청이 많을 경우=> 웹서버- 웹문서, WAS- JSP 페이지 처리
2. 웹 어플리케이션 서버(Web Application Server)
ex) Tomcat, WebLogic, WEebShpere, Jeus, JBoss 등
동적 정보를 처리하여 정적 정보로 가공 후 웹서버에 가공된 정적 정보를 제공.
일반적으로 웹서버의 기능이 내제되어 있음.
2-1) 웹 서버는 컨테이너에게 처리 요청.
2-2) 컨테이너는 웹서버의 요청을 처리한다.
2-2-1) 컨테이너는 web.xml을 참조하여 스레드를 호출하는데,
스레드 호출 시 스레드에 요청(httpServletRequest) 및 응답(httpServeletResponse) 객체를 생성하여 전달.
2-3) 컨테이너는 서블릿 호출(Service)
2-4) 스레드는 서블릿 작업을 담당하게 되고, 요청에 따라 doPost() 또는 doGet()을 호출함.
2-5) 호출된 doPost() 또는 doGet 메소드는 생성된 동적 페이지를 Response 객체에 실어서 컨테이너로 전달.
2-6) 컨테이너는 전달받은 Response 객체를 HTTP Response 형태로 전환하여 웹 서버로 전달하고
추가로 스레드 종료, 요청 및 응답 객체 소멸시키는 작업도 함
3. 서블릿(Servlet)
서버(Server)와 애플릿(Applet)의 약어
동적인 웹 페이지를 생성하는 서버 측 프로그램 혹은 그 사양을 뜻한다.
장점으로는 ①플랫폼 독립성, ②안정성, ③효율성 이 있다.
① 플랫폼 독립성
JVM(Java Virtual Machine, 자바가상머신)에서 동작해 하드웨어(Hardware)와 운영체제(OS)에 제약이 없음.
②안정성
악의적 혹은 잘못 작성된 서블릿이 서버의 파일 시스템에 손상을 입히지않도록 JVM에서 접근을 차단시켜줌.
③효율성
멀티스레드 방식으로 동작하므로 서블릿이 생성되면 종료 요청이 있을 때까지 메모리에 남게됨.
고로 이 후 요청마다 서블릿 재생성이 따로 필요 없음.
출처: http://myblog.opendocs.co.kr/archives/425
'Develop > Java Server Page' 카테고리의 다른 글
09. 클라이언트와의 대화 1 : 쿠키 (0) | 2018.07.06 |
---|---|
jsp 실습 (0) | 2018.06.26 |
JSP 정리 (0) | 2018.06.24 |
웹프로그래밍 (0) | 2018.06.21 |
JSP(1) (0) | 2018.06.13 |
댓글