웹 개발을 하다 보면, 정적인 HTML만으로는 부족한 경우가 생깁니다. 데이터베이스와의 소통, 동적인 페이지 처리 등이 필요할 때, 바로 JSP(Jakarta Server Pages)가 등장하죠. JSP는 웹 페이지에서 자바 코드를 삽입해 서버와 소통할 수 있는 강력한 도구입니다.
JSP와 서블릿의 관계
서블릿은 서버에서 자바로 웹 페이지를 동적으로 처리하는 기술입니다. 반면, JSP는 HTML 문서에 자바 코드를 삽입해 동적 페이지를 만들 수 있는 스크립트 언어입니다. 즉, JSP는 HTML과 자바가 혼합된 형태라고 생각하면 됩니다. 한마디로 JSP는 프런트엔드와 백엔드를 연결해주는 다리 같은 역할을 하죠.
JSP 파일 구조
JSP 파일의 구조를 간단히 살펴볼게요. 아래 코드는 간단한 JSP 파일의 예입니다:
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Hello World JSP</title>
</head>
<body>
현재 날짜와 시간은: <%= new java.util.Date() %>
</body>
</html>
위 코드에서, HTML 사이에
<%= new java.util.Date() %>
와 같은 자바 코드를 넣어 현재 날짜와 시간을 출력합니다. JSP 페이지는 서버에서 자바 코드가 실행된 후, 그 결과를 HTML로 만들어 브라우저로 보내줍니다. 그렇다면 JSP가 어떻게 동작하는지 더 자세히 알아볼까요?
JSP 처리 과정
- JSP 작성: JSP 파일을 작성하면 이는 서버로 전송됩니다.
- JSP가 서블릿으로 변환: JSP는 톰캣과 같은 서블릿 컨테이너에 의해 자바 소스 코드로 변환됩니다. 예를 들어, HelloWorld.jsp는 HelloWorld_jsp.java라는 서블릿으로 변환됩니다.
- 서블릿 실행: 서블릿이 실행되면서 JSP 코드에 있는 자바 로직이 처리되고, 그 결과로 HTML이 생성됩니다.
JSP 스크립트 태그
JSP에는 자바 코드를 삽입할 수 있는 다양한 태그가 있습니다. 가장 기본적인 세 가지 태그를 소개할게요:
1. 선언문: <%! ... %> 변수를 선언하거나 메서드를 정의할 때 사용합니다.
<%! int count = 3; %>
2. 스크립트릿: <% ... %> 자바 로직을 삽입하는 태그입니다.
<% int total = 0; %>
3. 표현식: <%= ... %> 자바 변수나 메서드의 값을 출력합니다.
1부터 100까지 더한 값은? <%= total %>
이러한 태그들이 JSP 페이지 안에서 자바 코드를 자유롭게 삽입하고, 그 결과를 출력하게 해줍니다.
JSP의 활용
JSP는 다양한 프레임워크와 함께 사용될 수 있습니다. 예를 들어, 스프링(SPRING)이나 스트러츠(STRUTS) 같은 웹 프레임워크에서 JSP는 주로 화면을 그리는 데 사용되며, 자바의 모든 기능을 활용할 수 있죠.
하지만 최근에는 JSTL(JSP Standard Tag Library)이나 EL(Expression Language) 같은 표준화된 태그들을 사용해 JSP의 복잡성을 줄이고 효율성을 높이는 추세입니다.
JSP는 서버와 웹 페이지 사이의 소통을 가능하게 하는 중요한 기술입니다. HTML에 자바 코드를 삽입해 동적인 페이지를 만들 수 있다는 점에서 강력한 도구이지만, 자바 코드와 HTML이 혼합되어 복잡해질 수 있습니다. 이를 해결하기 위해 등장한 JSTL이나 EL 등의 기술들도 함께 공부하면 좋을 것 같다고 생각합니다.
'전공 공부 > 웹서비스프로그래밍' 카테고리의 다른 글
JSP 디렉티브와 액션 태그 완벽 정리: 한눈에 이해하는 동적 웹페이지 구성법 🛠️ (1) | 2024.09.23 |
---|---|
서블릿 기본 구조 쉽게 이해하기: 웹 애플리케이션의 핵심 역할 (1) | 2024.09.23 |