본문 바로가기
개발공부/JSP

[JSP] JSP와 Servlet(서블릿) 비교

by dokii 2021. 2. 28.
728x90
반응형

1. Servlet

 

서블릿은 서버에서 웹페이지 등을 동적으로 생성하거나 데이터 처리를 수행하기 위해 자바로 작성된 프로그램이다. sjervlet은 java코드 안에 HTML태그가 삽입되며 자바언어로 되어있다. (.java가 확장자이다.)

 

서블릿은 자바언어를 웹어플리케이션을 조금 더 쉽개 개발하기위해 만든 API(라이브러리,클래스)다.

 

2.JSP(Java Server Page)

HTML내부에 자바코드를 삽입하는 형식이 jsp다. HTML은 코딩하기 어렵고 불편해서 이를 보완하기위해 만들었다.

JSP는 서블릿기반의 서버 스크립트 기술이다. 서블릿을 이용하면, 자바에 대한 지식이 필요하며 화면 인터페이스 구현에 너무 많은 코드를 필요로 하는 등 비효율적인 측면들이 있다. 때문에 서블릿을 작성하지 않고도 간편하게 웹크로그래밍을 구현하게 만든 기술이 JSP다.

 

여기서 서버 스크립트 기술이란 ASP, PHP 처럼 미리 약속된 규정에 따라 간단한 키워드를 조합하여 입력하면, 실행 시점에 각각의 키워드에 매핑이 되어있는 어떤 코드로 변환후에 실행되는 형태.

 

3. JSP와 Servlet의 차이 및 비교

  Servlet      JSP   
1. 자바코드로 구현, 컴파일, 배포 해야함.
2. HTML태그로 문자열("")스크림으로 처리해야함.
3. 코드가 수정되면 다시 컴파일하고 배포해야함.
1. 키워드가 태그화 되어 서블릿에 비해 배우기쉬움.
2. 자바코드를 <%%>태그 안에 처리해주어야 함.
3. HTML처럼 태그를 사용하여 자바코드도 사용이 가능함.

 

4. Servlet과 JSP의 역할

서블릿이나 JSP나 만드는 방법에 차이가 있을뿐 동일한 역할을한다는걸 알수 있다. 

초기에 자바 웹개발은 서블릿을 이용했다. 이후 JSP기술이 발표되면서 JSP형태의 개발이 유행하게 되고 지금와서는 각각의 역할을 나누어 Servlet+JSP형태의 개발이 이루어 지고 있다.

 

JSP는 사용자에게 결과를 보여주는 프리젠테이션 층을 담당하고, 

Servlet은 사용자의 요청을 받아 분석하고 비지니스 층과 통신하여 처리, 처리한 결과를 다시 사용자에게 응답하는 컨트롤러 층을 담당한다.

 

 

5. MVC패턴의 JSP와 Servlet

JSP만을 이용한 개발(Model1 방식)이 유행하다, 현재는 유지보수단계에서 많은 단점을 느껴,

각각의 역할을 나누어 서블릿과 JSP를 동시에 사용하여 개발한다. (Model2 방식)

JSP는 HTML태그 사용이 용이하고 자바코드 사용이 불편하기에 웹어플리케이션에서 사용자가에게 결과를 보여주는 View(Client)를 담당하고

Servlet은 자바코드 작성이 편리하기 때문에 주로 화면과 통신하여 자료를 받아 가공하고 가공한 자료를 다시 화면에 전달하는 Controller역할을 하고 있다.

 

 


참고한 블로그

m.blog.naver.com/acornedu/221128616501 (자세한 설명과 정리)

728x90
반응형

댓글