본문 바로가기

Web Programming

Servlet과 JSP / 비교 / 차이점

 

 

 

Servlet JSP
Server Side에서 돌아가는 Java Program Java 언어 기반 Server Side 스크립트 언어
Java 코드 안에 HTML 코드 (하나의 클래스) HTML 코드 안에 Java 코드
웹 기반 요청에 대한 동적인 처리 가능
웹 개발을 위해 만든 표준
Servlet를 보완하고 기술을 확장한 스크립트 방식 표준
Servlet의 모든 기능 + 추가적인 기능
data processing(Controller)
DB와의 통신, Business Logic 호출, 데이터를 읽고 확인하는 작업
presentation(View)
요청 결과를 나타내는 HTML 작성하는데 유용
Java 코드를 컴파일(.class 파일 생성)한 후
동적인 페이지를 처리하기 때문에
전체 코드를 업데이트하고 다시 컴파일한 후
재배포하는 작업이 필요
수정된 경우
재배포할 필요 없이 WAS가 알아서 처리
 .java 인 파일
자바의 일반적인 클래스와 동일한 개념
웹을 다룰 수 있도록 해주는 "HttpServlet" 클래스를 상속받은 클래스
 .jsp 인 파일
 html 문서 안에 자바 언어를 삽입해 사용할 수 있도록 해줌
JSP와 Servlet은 완전 다른 개념이 아니며
Servlet을 사용해 웹을 만들 경우 화면 인터페이스 구현이 워낙 까다로운 단점을 보완하기 위해 만든 스크립트 언어가 JSP
JSP파일은 실행 시 JSP -> Servlet 파일(.java) 파일로 변환
(즉, Servlet 파일로 직접 작성하는 것과 같은 코드로 변환)
변환된 서블릿 파일을 다시 컴파일해서 .class 파일로 만든 뒤 실행

==> 실행 결과는 자바 언어가 모두 사라진 Html 코드가 됨 
      최종적으로 Html로 변환되어 사용자에게 전달
  처음 구동할 때는 변환 과정이 한 번 더 있으므로 서블릿보다 느리지만, 
첫 구동에서 class 파일을 생성해 두면 두 번째부터는 변환과정 및 컴파일 과정이 없기 때문에 서블릿과 거의 동일하게 작동함

 

 

References

 

 

https://gmlwjd9405.github.io/2018/11/04/servlet-vs-jsp.html

 

[Web] Servlet과 JSP의 차이와 관계 - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

 

 

 

https://rios.tistory.com/entry/JAVAJSP-Servlet%EC%84%9C%EB%B8%94%EB%A6%BF%EC%9D%98-%EA%B8%B0%EB%B3%B8-%EA%B0%9C%EB%85%90-%EB%B0%8F-%EA%B5%AC%EC%A1%B0

 

[JAVA]JSP, Servlet(서블릿)의 기본 개념 및 구조

개발도중 기본 개념에대해 혼동하는 경우가 많이 발생해 remind 하고자 다시한번 정리하고자한다. JSP (java server page) 1. .jsp 인 파일 2. Java Server Page 3. html 문서 안에 자바 언어를 삽입해 사용할 수

rios.tistory.com