JSP(JavaServer Pages)는 동적인 웹 페이지를 만들기 위한 기술로, 클라이언트의 요청을 받아 서버에서 처리한 결과를 웹 브라우저에 전달하는 역할을 합니다. 이 글에서는 JSP에서 HTTP 요청을 처리하는 방식과 함께, 서버 측 동작을 제어하는 액션 태그들에 대해 정리하였습니다.
1. HTTP 요청 처리 방식: GET vs POST
HTTP 요청은 대표적으로 GET 방식과 POST 방식으로 나뉩니다.
GET 방식
- 데이터를 URL 뒤에 쿼리스트링 형태로 전송합니다.
예: example.jsp?name=hong&age=20 - 사용자가 데이터를 쉽게 확인할 수 있습니다.
- 전송 데이터의 길이에 제한이 있으며, 보안에 취약합니다.
- 즐겨찾기나 URL 공유에 유리합니다.
POST 방식
- 데이터를 **HTTP 본문(body)**에 담아 전송합니다.
- URL에 노출되지 않아 보안성이 높습니다.
- 전송 데이터의 크기에 제한이 적습니다.
- 주로 로그인, 회원가입, 데이터 전송 등 민감한 정보를 처리할 때 사용됩니다.
2. JSP 액션 태그 (Action Tag)
JSP 액션 태그는 서버에서 특정 기능을 실행하거나 자바 빈(JavaBean)을 사용하여 데이터를 처리하는 데 사용됩니다. HTML 태그와 유사한 형태로 구성되며, 동적인 JSP 페이지 구성에 매우 유용합니다.
1. <%@ page ... %>
JSP 페이지의 속성을 설정합니다.
- 언어, 인코딩, 콘텐츠 타입 등을 지정할 수 있습니다.
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
2. <jsp:include page="..." />
다른 JSP 페이지를 현재 페이지에 포함합니다.
- 페이지가 요청될 때마다 포함된 파일이 실행됩니다.
- 모듈화와 코드 재사용에 유리합니다.
<jsp:include page="header.jsp" />
3. <jsp:forward page="..." />
현재 JSP 페이지의 처리를 멈추고 다른 페이지로 요청을 전달합니다.
- 클라이언트가 아닌 서버 내부에서 페이지를 이동시킵니다.
<jsp:forward page="result.jsp" />
4. <jsp:useBean id="..." class="..." />
자바 빈(JavaBean) 객체를 생성하거나 참조합니다.
<jsp:useBean id="myBean" class="com.example.MyBean" />
5. <jsp:setProperty name="..." property="..." value="..." />
자바 빈의 속성 값을 설정합니다.
<jsp:setProperty name="myBean" property="name" value="John" />
6. <jsp:getProperty name="..." property="..." />
자바 빈의 속성 값을 JSP 페이지에 출력합니다.
<jsp:getProperty name="myBean" property="name" />
3. include 와 forward의 차이점 비교
항목 | <jsp:include> | <jsp:forward> |
기능 | 다른 JSP를 현재 위치에 포함 | 다른 JSP로 요청을 전달 |
실행 시점 | 클라이언트 요청 시 실행 | 요청 즉시 처리 중단 후 다른 페이지로 이동 |
주요 용도 | 공통 레이아웃(header, footer 등) | 조건에 따라 다른 처리로 분기 |
페이지 흐름 | 원래 페이지 + 포함 페이지 | 포함된 페이지로 완전히 이동 |
4. 마무리
JSP의 HTTP 요청 처리 방식과 액션 태그는 동적 웹 페이지의 핵심 요소입니다.
특히 액션 태그는 코드의 재사용성과 유지보수에 큰 도움이 되며, JavaBean과 함께 사용하면 더욱 구조적인 JSP 웹 애플리케이션을 만들 수 있습니다.
'1인칭 학습 시점_웹개발 > JSP' 카테고리의 다른 글
[JSP] 서블릿(Servlet) 개념 정리 – JSP 이전 웹 개발의 핵심 기술 (0) | 2024.08.29 |
---|---|
[JSP] JSP에서의 요청 처리 흐름과 스코프 개념 정리 (0) | 2024.08.26 |
[JSP] JSP 페이지 기본 구조 정리 (0) | 2024.08.21 |