JSP 기초
JSP(JavaServer Pages)는 HTML 문서 안에 자바 코드를 삽입하여 동적인 웹 페이지를 생성하는 서버 측 기술입니다.
개요
JSP는 자바 기반의 서버 측 스크립트 언어로, 서블릿(Servlet) 기술을 기반으로 합니다. HTML 코드에 자바 코드를 손쉽게 포함시켜 데이터베이스 처리, 사용자 인증 등 복잡한 서버 로직을 구현할 수 있습니다. JSP 파일은 웹 서버에 의해 서블릿으로 변환되고 실행되어 최종적인 HTML 페이지를 만들어냅니다.
참고
JSP는 자바 EE(Java Enterprise Edition)의 한 부분이며, 주로 엔터프라이즈 환경에서 강력한 웹 애플리케이션을 구축하는 데 사용됩니다.
기본 문법
JSP는 HTML 문서 내부에 <% ... %>
와 같은 특수 태그를 사용하여 자바 코드를 포함시킵니다.
JSP
<h1>안녕하세요, JSP!</h1> <% // 자바 변수 선언 String name = "World"; // 출력 out.println("<p>Hello, " + name + "!</p>"); %>
주요 요소
JSP 페이지를 구성하는 주요 요소들입니다.
요소 | 문법 | 설명 |
---|---|---|
스크립틀릿 |
<% ... %> |
가장 많이 사용되는 요소로, 자바 코드를 삽입합니다. |
표현식 |
<%= ... %> |
자바 변수나 메서드의 반환값을 HTML에 직접 출력합니다. |
선언부 |
<%! ... %> |
전역 변수나 메서드를 선언합니다. |
지시어 |
<%@ ... %> |
페이지의 전반적인 속성(예: 인코딩, 외부 파일 포함)을 설정합니다. |
주요 개념
JSP 개발에 있어 중요한 몇 가지 개념들입니다:
개념 | 설명 | |
---|---|---|
EL (Expression Language) |
${...} |
JSP에서 변수나 객체 속성에 접근하는 간결한 문법. 스크립틀릿 사용을 줄이는 데 도움이 됩니다. |
JSTL (JSP Standard Tag Library) |
<c:forEach> |
반복문, 조건문 등 자주 사용되는 기능을 미리 만들어 둔 표준 태그 라이브러리입니다. |
MVC 패턴 |
Model-View-Controller | 웹 애플리케이션의 구조를 효과적으로 분리하는 디자인 패턴입니다. JSP는 주로 View 역할을 담당합니다. |
사용 예제
JSP와 EL을 사용하여 사용자 이름을 출력하는 예제입니다.
JSP
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <!DOCTYPE html> <html> <head> <title>JSP 예제</title> </head> <body> <% // request 객체에 이름 저장 request.setAttribute("userName", "홍길동"); %> <h1>안녕하세요, <%= request.getAttribute("userName") %>님! (스크립틀릿) </h1> <h1>안녕하세요, ${userName}님! (EL) </h1> </body> </html>
주의사항 및 팁
- 최신 웹 개발 환경에서는 JSP 단독 사용보다는 Spring Framework 같은 자바 기반의 프레임워크와 함께 사용하는 경우가 많습니다.
- 스크립틀릿(
<% ... %>
)보다는 EL(${...}
)과 JSTL을 사용하여 코드를 더 깔끔하게 작성하는 것이 권장됩니다. - JSP 파일을 실행하려면 Tomcat 같은 JSP/서블릿을 지원하는 웹 컨테이너가 필요합니다.
주의
JSP 페이지에 복잡한 비즈니스 로직을 모두 넣는 것은 유지보수를 어렵게 만듭니다. 서블릿과 같은 클래스에 로직을 분리하고, JSP는 오직 화면을 보여주는 역할만 담당하도록 하는 것이 좋습니다. (MVC 패턴)