누군가 당신에게 '서블릿이 뭐야?' 라고 묻는다면 뭐라 답을 해야할까요?

아마 저는  "서버에서 실행되는 자바 프로그램이다." 라고 답할 것 같습니다.

위키피아 사전을 보면 다음과 같이 나와있습니다.


자바 서블릿(Java Servlet)은 자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램 혹은 그 사양을 말하며, 흔히 "서블릿" 이라 불린다. 

자바 서블릿은 자바EE 사양의 일부분으로, 주로 이 기능을 이용하여 쇼핑몰이나 온라인 뱅킹 등의 다양한 웹 시스템이 구현되고 있다. 

비슷한  기술로는 펄 등을 이용한 CGI,PHP를 아파치 웹 서버 프로세스에서 동작하게 하는 mod_php, 마이크로소프트사의 IIS에서 동작하는 ASP 등이 있다. CGI는 요청이 있을 때마다 새로운 프로세스가 생성되어 응답하는 데 비해, 자바 서블릿은 외부 요청마다 프로세스보다 가벼운 스레드로써 응답하므로 보다 가볍다. 또한, 서블릿은 자바로 구현되므로 다양한 플랫폼에서 동작한다.

출처: http://ko.wikipedia.org/wiki/%EC%84%9C%EB%B8%94%EB%A6%BF

이해가 가나요? 

인터넷이 보급되고 처음 웹페이지가 만들어 질 때, 대부분의 웹페이지는 정적인 페이지였습니다. 어떠한 동작도 없었고 다아나믹한 맛(?)이 없었습니다. 오로지 "뿌려주기" 기능만 있었고 사용자는 그 뿌려진 화면을 볼 수만 있었을 뿐, 서버와의 어떠한 상호작용도 없었죠. 이러한 단방향식구조를 극복하기 위한 대안으로 CGI(Common Gateway Interface)라는 놈이 나왔습니다. 서버와 Data를 송수신 하기위한 우리들만의 약속(?), 규약 입니다. 이에 자바를 CGI에 접목시킨놈이 서블릿이죠. 자바가 가지는 이점을 모두 활용 가능하게 되었죠.  서버입장에서는 천군만마를 얻은것이지 않을까요?


 



'HTML > About Web' 카테고리의 다른 글

Apache와 Tomcat의 역할  (12) 2013.04.11
HTTPD (HyperText Transfer Protocol Daemon)란?  (1) 2013.04.11
Connection Pooling  (0) 2012.04.13
CGI(Common Gateway Interface)와 Servlet  (0) 2012.04.09
AND