JSP
JSP(JavaServer Pages)란?
초코너무조코
2025. 2. 12. 15:48
728x90
JSP(JavaServer Pages)란?
JSP(JavaServer Pages)는 Java 기반의 서버 측 웹 기술로, HTML 내에서 Java 코드를 사용할 수 있도록 지원하는 웹 페이지 기술입니다.
JSP는 서버에서 실행되어 동적인 웹 페이지를 생성하며, Java Servlet과 같은 역할을 하지만, HTML 코드와 Java 코드를 함께 작성할 수 있도록 쉽게 설계되었습니다.
JSP의 특징
- HTML + Java 코드 사용 가능
- HTML 안에 <% %> 태그를 사용하여 Java 코드를 삽입할 수 있음
- Servlet으로 변환되어 실행
- JSP 파일은 실행될 때 서블릿(Servlet)으로 변환된 후 실행됨
- 동적인 웹 페이지 생성 가능
- 사용자 입력, 데이터베이스 연동, 세션 관리 등을 통해 동적 콘텐츠 제공 가능
- MVC 패턴에서 View 역할
- JSP는 보통 MVC(Model-View-Controller) 패턴에서 View(화면) 역할을 담당
JSP 코드 예제
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP 예제</title>
</head>
<body>
<h2>현재 시간: <%= new java.util.Date() %></h2>
</body>
</html>
설명
- <%= new java.util.Date() %> → 현재 시간을 동적으로 출력하는 JSP 코드
- <%@ page ... %> → JSP 페이지 설정 (인코딩 등)
JSP 실행 과정
- 클라이언트가 JSP 페이지 요청 (예: index.jsp)
- JSP가 서블릿(Java 클래스)으로 변환 (index_jsp.java 파일 생성)
- 서블릿이 컴파일되어 실행 (index_jsp.class 파일 생성)
- 결과 HTML을 클라이언트에게 응답
JSP는 내부적으로 서블릿(Servlet)으로 변환되어 실행됩니다.
JSP와 Servlet의 차이점
구분 | JSP | Servlet |
코드 형태 | HTML 중심 + Java 코드 포함 | 순수 Java 코드 |
유지보수 | 비교적 쉬움 (HTML 중심) | 어려움 (Java 코드만 사용) |
변환 과정 | JSP → 서블릿 변환 후 실행 | 처음부터 서블릿으로 개발 |
JSP는 화면(View) 구성에 적합하며, Servlet은 비즈니스 로직(컨트롤러) 처리에 적합합니다.
최근에는 JSP 대신 Thymeleaf, React, Vue.js 같은 템플릿 엔진이나 프론트엔드 프레임워크를 사용하는 추세입니다.
JSP는 언제 사용할까?
- 빠르게 동적인 웹 페이지를 만들 때
- 간단한 웹 애플리케이션에서 View 역할을 할 때
- Servlet보다 HTML과의 조합이 쉬운 환경이 필요할 때
그러나 최근에는 Spring + Thymeleaf 또는 프론트엔드 프레임워크(React, Vue 등)와 함께 사용하는 방식이 주류입니다.
728x90