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 실행 과정

  1. 클라이언트가 JSP 페이지 요청 (예: index.jsp)
  2. JSP가 서블릿(Java 클래스)으로 변환 (index_jsp.java 파일 생성)
  3. 서블릿이 컴파일되어 실행 (index_jsp.class 파일 생성)
  4. 결과 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