JSP(JavaServer Pages)는 웹 애플리케이션 개발에서 HTML과 Java를 결합하여 동적인 웹페이지를 생성할 수 있는 강력한 도구입니다. 이번 글에서는 JSP 스크립트를 이해하고, HTML에 Java 코드를 삽입하여 JSP 파일을 작성하는 방법을 단계적으로 살펴보겠습니다.

Servlet: Java 코드로만 이루어져 있으며, .java 파일로 작성된 후 .class 파일로 컴파일됩니다.
MyServlet.java -> MyServlet.classJSP: HTML 문서 안에 Java 코드를 포함하는 형태로, JSP 파일은 서버에서 처리되며 최종적으로 Servlet으로 변환됩니다.
example.jsp -> example_jsp.java -> example_jsp.class이 변환 과정 덕분에 JSP는 Java의 동적 처리 능력과 HTML의 간단한 문서 작성 능력을 결합합니다.
JSP 스크립트 태그는 HTML 문서 내에서 Java 코드를 삽입하거나 실행하기 위해 사용됩니다. 주요 태그는 다음과 같습니다:
<%! ... %>):<%!
int num = 10;
String str = "jsp";
ArrayList<String> list = new ArrayList<String>();
public void jspMethod() {
System.out.println("--jspMethod()--");
}
%>
<%-- ... --%>):<%-- This is a JSP comment. It will not appear in the client-side HTML. --%>
<% ... %>):<%
if (num > 0) {
%>
<p>num is greater than 0</p>
<%
} else {
%>
<p>num is less than or equal to 0</p>
<%
}
%>
<%= ... %>):out.print() 메서드로 처리됩니다.<p>num is <%= num %></p>
<%@ ... %>):<%@ page language="java" contentType="text/html; charset=UTF-8" %><%@ include file="header.jsp" %><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>다음은 위에서 설명한 주요 태그를 활용한 JSP 예제입니다.
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP Example</title>
</head>
<body>
<%@include file="header.jsp" %>
<!-- 선언태그 -->
<%!
int num = 10;
String str = "jsp";
ArrayList<String> list = new ArrayList<String>();
public void jspMethod() {
System.out.println("--jspMethod()--");
}
%>
<!-- 주석태그 -->
<%-- This is a JSP comment. It will not appear in the client-side HTML. --%>
<!-- 스크립트릿 태그 -->
<%
if (num > 0) {
%>
<p>num is greater than 0</p>
<%
} else {
%>
<p>num is less than or equal to 0</p>
<%
}
%>
<!-- 표현식 태그 -->
<p>num is <%= num %></p>
<%@include file="footer.jsp" %>
</body>
</html>
JSP 파일은 서버에서 처리되며, HTML은 클라이언트(브라우저)로 전송됩니다. Java 코드는 서버에서 실행된 후 결과만 HTML로 변환되기 때문에 클라이언트는 실행된 결과만 확인할 수 있습니다.
example.jsp → example_jsp.java: JSP 파일이 Servlet으로 변환.example_jsp.java → example_jsp.class: Servlet 클래스가 컴파일.example_jsp.class: 서버에서 실행되고, 결과 HTML이 클라이언트로 전송.JSP의 장점:
JSP의 단점:
JSP와 MVC 패턴:
JSP 스크립트는 동적인 웹 애플리케이션 개발에서 HTML과 Java를 유연하게 결합할 수 있는 강력한 도구입니다. 선언 태그, 주석 태그, 스크립트릿 태그, 표현식 태그, 지시어 등을 적절히 활용하면 동적이고 효율적인 웹페이지를 쉽게 구현할 수 있습니다.