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 Programming' 카테고리의 다른 글
비동기통신 - AJAX와 JSON, 그리고 GSON (0) | 2023.03.16 |
---|---|
[Web] GET방식과 POST방식의 특징 및 차이점 (0) | 2023.03.15 |
[AJAX] AJAX란 / jQuery-AJAX 사용법 / AJAX 메소드 (0) | 2022.11.21 |
Servlet API / HTTPServlet 클래스 / HttpServletRequest 객체와 HttpServletResponse 객체 (0) | 2022.11.14 |
Web Server vs WAS / Web Server와 WAS의 차이 (0) | 2022.11.10 |