Servlet이란?

Web Programming/WEB 2016. 3. 6. 07:30

<Servlet>

Server + Let(허용)의 합성어이다. -> 서버(Server)에서 애플리케이션(Application)을 허용(Let)한다

<!--[endif]--> 

[서블릿의 구성]

 + 자바 프로그래밍

Java 프로그래밍 기반의 확장 CGI

 

[서블릿을 실행하기 위한 필요 조건]

JDK(Java Development Kit), 서블릿 컨테이너(Servlet Container) -> TOMCAT

 

 

<서블릿 컨테이너란?>

서블릿 객체를 만들어 보관하는 곳. 객체들을 보관하고 있다가 클라이언트로부터 서블릿에 대한 요청이 들어오면 해당 서블릿을 찾아서 클라이언트에게 서비스를 해주는 역할을 한다.

즉, 서블릿을 관리하고 서비스하는 프로그램이다.

 

[대표적인 서블릿 컨테이너]

톰캣(TOMCAT), 레신(Resin) 

 

[서블릿 컨테이너의 역할]
1. 웹 서버 역할
2. 자체적인 웹 서버 기능
3. 서블릿을 담고 있다가 클라이언트의 요청에 따라 서비스하는 역할을 한다.

 

<서블릿의 처리 절차>



 

1. 클라이언트로부터 HelloServlet 요청한다.
2. 서블릿 컨테이너에서 해당 서블릿(HelloServ.let) 객체를 검색한다. 있다면 진행,없다면 java파일을 class파일로 컴파일한 후, 그것을 이용해 서블릿 컨테이너에 로딩한다.
3. 해당 서블릿(HelloServlet)을 처리하기 위해 데이터베이스 작업이 필요하면 데이터베이스 연결 및 처리한다.
4. HelloServlet 서블릿의 응답 전송한다.

 

 

<서블릿의 특징>

자바 언어를 사용하고, 자바 프로그램 차원에서 동적으로 웹 페이지를 서비스한다.

스레드(Thread) 방식

 기존 CGI : 클라이언트 접속 → Process 생성 (CGI는 프로세스 단위로 동작하기 때문)

 서블릿 : 클라이언트 접속 → Thread 생성 (스레드 단위로 동작하기 때문)

 

[서블릿의 단점]
서블릿을 작성할 때 Java코드로 작성해야 한다. 그때 클라이언트로 전달해줘야할 HTML코드를 모두 print구문을 이용해서 작성해줘야 한다.
java파일안에 많은 내용이 포함됨..ㅠ

1. 화면에 표현될 HTML 코드를 프로그램적으로 작성해야 한다.

2. 서비스하기 전에 반드시 컴파일을 해야 한다.

 

 


Copyrightⓒ2014 By Jabook



'Web Programming > WEB' 카테고리의 다른 글

이클립스의 .jsp, .web.xml파일 저장 경로  (0) 2016.03.06
CGI(Common Gateway Interface)  (0) 2016.03.05
HTTP?, HTML?  (0) 2016.03.04
posted by 경원구