Web Programming/이론

[JSP] 서블릿이란? (Java Servlet)

Sunwoo_bang 2021. 1. 17. 21:57

서블릿(Java Servlet) 

jsp를 공부하거나 코딩하다가 검색하면 정말 자주 등장하는 단어지. 그래서 오늘은 서블릿이 뭔지 알아보려고 해.

 

서블릿이란?

자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램의 사양을 이야기해.
JSP는 HTML문서 안에 Java코드를 포함하고 있는데 서블릿은 Java코드 안에 HTML을 포함하고 있다는 차이점도 존재해.


<구동>
1. 클라이언트가 URL을 입력하면 HTTP Request가 Servlet Container*로 전송
2. 요청을 전송받은 Servlet Container는 HttpServletRequest, HttpServletResponse 객체 생성

3. web.xml을 기반으로 클라이언트가 요청한 URL이 어느 서블릿에 대한 요청인지 탐색
4. 해당 서블릿에서 service메소드 호출 후 클라이언트의 GET, POST여부에 따라 doGet(), doPost()를 호출
5. doGet() or doPost() 메소드는 동적 페이지를 생성 후 HttpServletResponse객체에 응답
6. 응답 이후 HttpServletRequest, HttpServletResponse 두 객체 소멸

*Servlet Container: 서블릿 컨테이너는 Web Container 라고도 한다.


<특징>
1. html을 사용하여 요청에 응답
2. 외부요청에 대해 Thread를 이용하여 동작
3. MVC2 패턴에서 사용자의 요청을 받는 Controller로 이용
4. Java로 구현되어 다양한 플랫폼에서 구동
5. Java EE를 사용


<주의점>
서블릿 클래스 코드를 수정하면 바로 반영되지 않는다.


여기까지 알아봤는데, 사실 좀 난해하지?
그래서 서블릿이 뭐라는건데.. 라는 말을 할지도 모르겠다. 정리해보자면

 

클라이언트에게 요청을 받아서 웹 컨테이너로 전송하고
웹컨테이너에서 다시 클라이언트에게 반응하는 자바 웹 프로그래밍 기술이라고 할 수 있으려나.

 

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

쿠키(Cookie) 와 세션(Session)  (0) 2021.01.07
[JSP] Directive  (0) 2021.01.07