[JSP/Servlet] JSP? CLASS? SERVLET? 개요 :: 소림사의 홍반장!

[JSP/Servlet] JSP? CLASS? SERVLET? 개요

2013. 10. 8. 19:49 - 삘쏘굿

정리할 시간이 없어서 일단 출처만 밝히고 가져다 놓습니다....

 

 

 

1) Servlet의 개념

"자바를 이용해서 작성한 CGI프로그램"

자바로 구현

JVM(자바가상머신)이라는 환경하에서 클라이언트의 요청에 따라 Multi Thread방식으로 동작

CGI개념

 

Common Gateway Interface

웹서버와 외부 프로그램 사이를 연결하는 규약

동적으로 웹페이지를 만들어주는 프로그램을 의미함

C, C++, Perl 등 다양한 프로그래밍 언어로 작성 가능하며 요즘은 PHP, JSP, ASP를 많이 사용함

웹서버와 각 언어별 지원 라이브러리 환경 설정이 별도로 필요함

 

 

 

서블릿(Servlet)이란 Server + Let의 합성어. 혹은 Server + Apllet이란 말도 있다.

암튼, 서블릿이란 자바의 클래스 중 오직 서버에서만 실행될 수 있는 클래스를 의미한다.

이러한 서블릿은 Java기반이기 때문에 당연히 JDK가 설치되어 있어야 구동 가능하다.

서블릿의 사용목적은 클라이언트의 요청을 받아 처리하여 응답하는 것이고, 대부분 HttpServlet을

상속받아 구현한다.

서버에서 실행되는 클래스니까 당연히 서버에 있어야 하고, 실행되어야 하는데 웹서버(아파치 등)는

서블릿 자체를 실행하지 못하므로 자바 가상 머신(JVM)을 내장한 컨테이너가 필요하다.

이 컨테이너가 바로 톰캣(Tomcat)이다.

이러한 서블릿의 문제점은 프로그램내에서 html을 처리하기 때문에 간단한 Tag를 변경할 때 조차

재컴파일을 해야한다는 것이다.

이런 문제를 해결하기 위해(비지니스 로직과 콘텐츠를 분리하기 위해) JSP가 탄생하였다.

JSP는 텍스트 파일 구조이고,

서블릿은 자바 클래스 구조이다.

만약, JSP없이 서블릿만으로 에플리케이션을 구성한다면

- request를 통해 서버로부터 html form을 수신

- jdbc를 통해 db에 접속해서 원하는 정보 가져옴

- out을 이용해서 html태그를 적절히 사용하여 출력

순으로 브라우저에 내용이 표시된다.

서블릿의 장점은 각 사용자 접속에 대한 요청을 프로세스가 아닌 스레드로 처리하는데 있다.


<JSP로 작성한 코드는 결국 서블릿 형태로 변환된다.>


때문에 html 출력 역시 원래 서블릿 처리 방식대로 이루어진다.


다만 사용자가 이런 내부 과정을 신경 쓸 필요 없이 텍스트 기반에서 코딩을 할 수 있도록

하는 점이 JSP스크립트의 특징이다!

 

 

 

Applet 과 Servlet과의 차이점

Applet

Servlet

클라이언트용 프로그램

웹 Client가 애플릿 프로그램을 다운로드 받아 자신의 컴퓨터에서 실행시켜 사용하는 형태

프로그램 배포가 손쉽게 해결됨

Server Applet(서버 애플릿)의 약어

웹 Client의 요청을 서버 파트에서 실행시시는 프로그램

자바를 사용하여 웹 페이지를 동적으로 생성하는 서버측 프로그램

 

 

 

 

이 Servlet으로 요청이 100명 들어왔다면?

객체는 하나만 생성되고 service 100개가 thread형태로 수행된다.!

 

 

 

 

Servlet API의 역사

Servlet API Version

자바 플랫폼

중요한 변화

Servlet 3.0

JavaEE 6

Ajax 대응 비동기 지원, 어노테이션에 의한 개발 편의성, web.xml없는 개발 및 배포 공식적으로 Release안됨

Servlet 2.5 (2005년)

JavaEE 5, J2SE 5.0

Requires J2SE 5.0, supports annotaions

Servlet 2.4 (2003년)

J2EE 1.4, J2SE1.3

web.xml uses XML Schema

Servlet 2.3 (2001년)

J2EE 1.3, J2SE1.2

Addition of Filters

Servlet 2.2 (1999년)

J2EE 1.2, J2SE1.2

Becomes part of J2EE, introduced independent web applications in .war files

Servlet 2.1 (1998년)

Unspecified

First official specification, added RequestDispatcher, ServletContext

Servlet 2.0

JDK 1.1

Part of Java Servlet Devlopment Kit 2.0

출처 : http://ko.wikipedia.org/wiki/Java_Servlet

다른 카테고리의 글 목록

Dev. 웹/HTML.JSP 카테고리의 포스트를 톺아봅니다