의문점 공부하기/📌 Java

📌 JSP와 Servlet의 차이점은 !!!?

아리빠 2023. 8. 4. 22:00

JSP(JavaServer Pages)와 Servlet은 모두 Java를 기반으로 하는 웹 애플리케이션 개발을 위한 기술

-역할 및 목적


JSP(Java Server Pages):

JSP는 HTML 내에 Java 코드를 포함하여 동적인 웹 페이지를 생성하는 데 사용

주로 클라이언트가 볼 웹 페이지의 모습을 구성하고, 서버 측 로직을 포함하여 동적인 콘텐츠를 생성하는 데 사용

HTML 내부에 Java 코드를 삽입하여 동적 웹 페이지를 생성, JSP는 Servlet으로 변환되어 실행되며, JSP 파일의 내용이 변경되면 다시 변환 과정을 거친다

<%@ page ... %> 
<% taglib .. %>       -directive element
<%@ include. %> 

<% 자바코드 %>  -> scriptlet

<%= %> : 표현식 -> expression element

<%! %>: 필드 및 메서드 선언 ->declaration element

<jsp:xxx - /> -> JSP action tag

twxt -> template data

 

Servlet: 

Servlet은 Java 클래스를 기반으로 웹 애플리케이션 서버에서 동작하는 작은 프로그램

서버 측에서 요청을 처리하고 응답을 생성하는 데 중점

Servlet은 Java 코드 안에 HTML 태그가 삽입되며, .java 확장자를 가진다.

Servlet은 클라이언트 요청을 처리하고 그 결과를 다시 클라이언트에게 전송하는 역할


-구조

JSP: 

JSP는 주로 HTML 내에 Java 코드를 삽입하는 형태로 작성됩니다.

JSP는 Servlet으로 변환되어 실행되며, JSP 파일의 내용이 변경되면 다시 변환 과정을 거친다


Servlet: 

Servlet은 Java 클래스로 작성되며, 서블릿 컨테이너에서 실행

Servlet은 Java 코드 안에 HTML 태그가 삽입되며 .java 확장자를 가진다.


유연성:

JSP:

JSP는 주로 비즈니스 로직보다는 클라이언트 인터페이스를 다루는 데 적합,  단순한 동적 콘텐츠 생성 및 표시에 유용

 

Servlet:

Servlet은 데이터 처리와 비즈니스 로직을 다루는 데 적합. 데이터베이스와의 상호 작용, 외부 API 호출 등의 작업에 적합


배포 및 유지 보수:

JSP:

JSP 파일은 수정 시에 웹 서버를 다시 시작하지 않아도 변경 내용이 즉시 반영


Servlet:

서블릿은 Java 클래스로 컴파일되고, 변경 시에 웹 서버를 재시작해야 변경 내용이 적용

 

 

 

=> JSP는 서블릿을 기반으로 한 스크립트 기술, JSP는 HTML을 코딩하기 어렵고 불편하다는 단점을 보완하기 위해 만들어진 것. JSP는 서블릿을 작성하지 않고도 간편하게 웹 프로그래밍을 구현할 수 있도록 도움

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

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