JAVA/JSP & Servlet
[JSP/Servlet] Servlet(서블릿)과 JSP
민트맛녹차
2022. 7. 10. 17:45
servlet과 JSP를 알아보기 전에 서버 구조의 변화를 먼저 살펴보자.
서버 구조의 변화
WEB 서버 단일 구성
기본적인 홈페이지 구성으로, 정적인 페이지를 제공할 때 사용되는 서버 구성이다.
사용자가 요청하면 서버는 웹서버에 미리 올려둔 페이지를 넘겨준다.
WEB-WAS 구성
동적인 페이지를 제공하기 위해 사용되는 서버 구성이다.
WEB 서버는 연산이 필요없는 정적인 페이지는 자신이 처리하고, 연산이 필요할 경우 WAS에게 요청 객체를 넘겨 연산을 수행한 뒤 다시 결과를 받아 반환한다.
이때 WAS에서 연산을 담당하는 것이 서블릿이고 서블릿은 WAS 안에 있는 웹 컨테이너 또는 서블릿 컨테이너라고 불리는 공간에서 활용하게 된다.
웹 컨테이너(WEB Container)
웹 컨테이너 또는 서블릿 컨테이너는 WAS 내부에서 서블릿을 관리하는 구성요소로 다음과 같은 역할들을 수행한다.
- 서블릿의 생명주기를 관리한다
- JSP를 지원한다.
- 멀티스레딩을 지원한다.
- .통신을 지원한다
Servlet(서블릿)과 JSP
서블릿
서블릿을 클라이언트의 동적인 웹페이지 요청을 처리하기 위해 만들어진 일종의 프로그램으로, JAVA EE에서 제공하는 서블릿 클래스를 상속받은 클래스를 말한다. 스트림 객체를 생성해서 클라이언트에 보내줄 HTML 코드를 전부 print 해야해 코드가 길어지고 복잡해지는 단점이 있다.
JSP
서블릿의 단점을 보완하기 위해 나온 것이 JSP이다. JSP는 서블릿과 반대로 HTML 코드 형식을 띄고, 중간에 자바를 사용하여 로직을 구성하도록 되어있다.
JSP는 서블릿 파일(.java) 파일로 변환되고 .class 파일로 컴파일 한 후 최종적으로 HTML 파일로 변환되어 사용자에게 날아간다.
참조
https://codevang.tistory.com/191
https://sgcomputer.tistory.com/226
https://doozi316.github.io/web/2020/09/13/WEB26/