Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

JSP 액션 완벽 정리: 문법부터 예제까지

JSP의 forward(포워드) 액션은 현재 페이지의 처리를 즉시 중단하고, 해당 요청(request)을 정적 페이지, 다른 JSP 페이지 또는 Java 서블릿 같은 다른 리소스로 전달하는 기능입니다. 클라이언트가 아니라 서버 내부에서 요청이 넘어가기 때문에 브라우저 주소창의 URL은 그대로 유지됩니다.

forward 액션의 기본 문법

forward 액션의 기본적인 사용 문법은 다음과 같습니다.

<jsp:forward page = "상대 URL" />

forward 액션에서 사용할 수 있는 필수 속성은 아래 표와 같습니다.

번호속성 및 설명
1 page
요청을 전달할 대상 리소스의 상대 URL을 지정합니다. 정적 페이지, 다른 JSP 페이지, Java 서블릿 등이 될 수 있습니다.

예제로 배우는 forward 액션

실습을 위해 두 개의 파일, (a) date.jsp(b) main.jsp를 준비합니다.

1. date.jsp 작성

현재 날짜와 시간을 출력하는 date.jsp 파일의 내용은 다음과 같습니다.

<p>오늘 날짜: <%= (new java.util.Date()).toLocaleString()%></p>

2. main.jsp 작성

date.jsp로 요청을 포워딩하는 main.jsp 파일의 내용은 다음과 같습니다.

<html>
   <head>
      <title>jsp:forward 액션 예제</title>
   </head>
   <body>
      <center>
         <h2>jsp:forward 액션 예제</h2>
         <jsp:forward page = "date.jsp" />
      </center>
   </body>
</html>

3. 실행 결과 확인

두 파일을 웹 애플리케이션의 루트 디렉터리에 저장한 뒤 브라우저에서 main.jsp에 접속하면 아래와 같은 결과가 출력됩니다.

오늘 날짜: 2010. 9. 12. 오후 2:54:22

여기서 주목할 점은 main.jsp 자체의 출력 내용은 모두 버려지고, 포워딩된 date.jsp의 내용만 화면에 표시된다는 것입니다. 이것이 forward 액션이 include 액션과 다른 핵심 특징입니다. include가 다른 페이지의 결과를 현재 페이지에 삽입하는 반면, forward는 제어권 자체를 완전히 넘겨버립니다.

응용: 포워딩 시 파라미터 전달하기

<jsp:forward> 태그 안에 <jsp:param>을 함께 사용하면, 이동할 페이지에 추가 데이터를 전달할 수도 있습니다.

<jsp:forward page = "date.jsp">
   <jsp:param name = "userId" value = "guest" />
</jsp:forward>

이렇게 전달된 파라미터는 대상 페이지에서 request.getParameter("userId") 형태로 읽어 사용할 수 있습니다.