본문 바로가기
1인칭 학습 시점_웹개발/JSP

[JSP] JSP에서 HTTP 요청 처리 방식과 액션 태그 정리

by awesong 2024. 8. 22.
728x90
반응형

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 애플리케이션을 만들 있습니다.

반응형