본문으로 바로가기

[2] Servlet과 JSP

category WEB/Servlet & JSP 2018. 10. 18. 16:12
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

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