
JSP(JavaServer Pages)는 서버에서 동적으로 HTML을 생성하는 기술로,
Java를 기반으로 웹 애플리케이션을 개발할 때 사용됩니다.
JSP는 기본적으로 Servlet(서블릿) 위에서 동작하며, HTML 코드와 Java 코드를 함께 작성할 수 있는 웹 기술입니다.
JSP 파일은 일반적인 HTML 코드에 Java 코드를 추가할 수 있습니다.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>JSP 예제</title>
</head>
<body>
<%
String username = "홍길동";
%>
<p>안녕하세요, <%= username %> 님!</p>
</body>
</html>
| 코드 유형 | 설명 | 예제 |
|---|---|---|
| 선언문 | 변수 및 메서드 선언 | <%! int count = 0; %> |
| 스크립트릿 | 실행할 Java 코드 | <% count++; %> |
| 표현식 | 값을 출력하는 코드 | <%= count %> |
| 지시어 | JSP 페이지 설정 | <%@ page contentType="text/html; charset=UTF-8" %> |
| 구분 | JSP | Servlet |
|---|---|---|
| 확장자 | .jsp | .java |
| 작성 방식 | HTML 코드 안에 Java 코드 포함 | Java 코드 안에 HTML 출력 |
| 가독성 | HTML 중심이라 쉬움 | Java 중심이라 코드가 길어질 수 있음 |
| 사용 목적 | 뷰(View) 역할 | 비즈니스 로직 처리 |
EL(Expression Language)은 JSP에서 데이터를 출력할 때 자바 코드 없이 간단한 문법으로 표현할 수 있도록 제공되는 기능입니다.
<%
request.setAttribute("name", "홍길동");
%>
<p>안녕하세요, ${name} 님!</p>
JSTL은 JSP에서 자주 사용하는 기능을 태그로 제공하는 라이브러리입니다.
| 태그 | 설명 | 예제 |
|---|---|---|
| c:set | 변수 설정 |
<c:set var="username" value="홍길동" />
|
| c:forEach | 반복문 |
<c:forEach var="i" begin="1" end="5">
|
| c:if | 조건문 |
<c:if test="${userAge >= 18}"> 성인입니다. </c:if>
|
JSP는 사용자의 데이터를 유지하기 위해 세션(Session) 을 활용할 수 있습니다.
<%
session.setAttribute("loginUser", "홍길동");
%>
<p>로그인 사용자: ${sessionScope.loginUser}</p>