1) 웹에서의 자바 기술
1. 애플릿 (Applet)
: 실시간으로 보여주어야하는 동적인 데이터들을 간단한 기능으로 작은 프로글매을 만들어 사용 가능케 함.
서버에서 클라이언트 쪽으로 실행파일을 내려받아서 실행되는 방식 --> 한계.
2. 서블릿 (Servlet)
: 클라이언트가 웹 브라우저를 통해 요청하면 서버에서 실행한 후 결괏값만 클라이언트로 전송
(애플릿의 한계를 보완)
기존의 CGI (Common Gateway Interface)가 가지던 성능적인 약점, 메모리 문제, 단일 인스턴스로인한
병목현상 등을 해결.
3. JSP (JavaServer Page)
: 서블릿과 동일한 기능. But, 표현방법과 웹 애플리케이션에서의 역할이 다름.
- 서블릿 : 완벽하게 자바언어로 구현. 컨트롤러 페이지를 만들 때 사용.
- JSP : HTML 페이지 안에서 스크립트 형태로 구현. 뷰 페이지를 만들 때 사용.
=> 뷰는 클라이언트가 보는 화면. 요청받거나 처리된 결과를 보여주는 페이지.
=> 컨트롤러 페이지는 뷰에서 들어온 요청을 받아서 처리하는 페이지.
2) 웹
1. 웹 문서
: 웹에서 클라이언트가 서버에 정보를 요청하면 응답하는 콘텐츠.
정적과 동적 웹 문서로 나뉨.
- 정적 : 웹서버가 이미 만들어져있는 문서를 제공. 임의로 변하지 않음.
- 동적 : 요청시마다 다른 웹 문서의 내용을 클라이언트로 전달.
=> 클라이언트가 서버에 웹 문서를 요청하면 웹 문서에 동적인 요소를 포함하는 방식 : JSP
=> 클라이언트가 서버에 웹 문서를 요청하면 서버가 다른 애플리케이션을 통해 웹 문서를 재생성하여 제공 : Servlet
2. 웹 애플리케이션
: 웹에서 수행되는 애플리케이션.
수행되는 위치에 따라서 Server side 와 Client side로 나뉨.
3) 웹서버와 웹 애플리케이션 서버
1. 웹서버
: 웹에서 서버기능을 수행하는 프로그램.
HTTP라는 프로토콜을 기반으로 하여 웹 클라이언트(브라우저)로부터의 요청을 서비스함.
2. 웹애플리케이션 서버 (WAS)
: 웹 서버의 기능을 분리해서 처리하려 사용.
클라이언트로부터 요청받은 일과 화면에 표현하는 로직은 웹 서버에서 담당.
다양한 기능을 수행하는 로직은 컨테이너가 담당하도록WAS에서 일을 나누어 역할을 분담.
4) 컨테이너
: 웹 컴포넌트를 저장하는 저장소 역할, 메모리 로딩, 객체 생성 및 초기화 등 서블릿의 생명주기를 관리하고 JSP를 서블릿으로 변환하는 기능 수행.
1. 서블릿 컨테이너
: 클라이언트의 요청에 따라 서블릿을 수행하는 프로그램.
2. JSP 컨테이너
: JSP를 서블릿으로 변환하는 프로그램. (JSP 파일을 서블릿소스로 변환 및 컴파일까지만 담당)
변환된 서블릿의 수행은 서블릿 컨테이너가 담당.
'WEB > Servlet & JSP' 카테고리의 다른 글
[3] 서블릿 구현 (2) | 2018.10.18 |
---|---|
[1]자바 개발 플랫폼 (0) | 2018.10.18 |