jsp 에서
<%
PageContext.forward( "./SalesMod.jsp" );
%>



<jsp:forward page="./SalesMod.jsp"/>

나 동일합니다

<jsp:forward> 는 jps 태그 <%%> 내부에 넣거니 html 태그 <a></a> 속에 넣는건
아니구요 그냥 독립적으로 써요.

즉, test.jsp가 아래 같다면

<html>
<body>

<jsp:forward page=""./SalesMod.jsp"/>

</body>
</html>

이러게 작성하고, 실행되면 바로 SalesMod.jsp 으로 넘어가요. 즉
이런 태크를 jsp 액션 태그라구 하는데요 주로 java bean
사용때, jsp에서 다음처럼 많이 사용했을꺼여요

<jsp:useBean id="BeanTest" class="test.BeanTest" scope="page"/>

그리고

forward와 redirect 차이는 넘얼가려는 패이지 SalesMode.jsp를 어디서 부르냐는
차이구요 서버내에서 페이지 전환이 일어나면 forward구요 클라이언트 웹 브라우저의
호출로 페이지 전환이 일어나면 redirect 라구 보시면됩니다.

그래서

document.location.href='./SalesMod.jsp';

는 웹브라우저의 주소를 변경해서 페이지를 호출하니까 redirect 호출입니다.
반면에 forward 는 서버에서 패이지 변경이 일어나기 때문에 웹브라우저는 주소가
변경되었는지 모르져.

더 궁금하시면 "jsp 액션 태그" 찾아보심이(여러개 있읍니다)...

참고로

<%
PageContext.forward( "./SalesMod.jsp?test_1='aaa'&test_2='bbb'" );
%>



<jsp:forward page="./SalesMod.jsp">
<jsp:param name="test_1" value="aaa"/>
<jsp:param name="test_2" value="bbb"/>
</jsp:forward>

하고 동일합니다.

"버튼을 클릭했을때, <jsp:forward ~>는 어떻게 사용하는지 궁금합니다." 는 그냥
html 내용인데요. jsp 하고는 별 상관없구요. 그냥 단순히 적으면 아래 처럼 되구요

<html>
<head>
<script language="javascript">
function onclick_function() {
document.location.href='./SalesMod.jsp';
}
</script>
</head>

<body>
<input type=button onclick="onclick_function()" value='버튼'>

</body>
</html>


마지막으로

"forward는 request와 response를 공유한다고 들었습니다."는 좀 다른데요.
request와 response는 실제 HttpServletRequest와 HttpServletResponse의
인스턴스로(내장객체) Servlet Container(톰켓)이 시작할때 생성되요. jsp 전체에서
사용하게되요.

'Jsp_Html' 카테고리의 다른 글

[Jsp] Xml시작하기  (0) 2010.06.23
[Jsp] html, input, key, event 처리  (0) 2010.06.22
[Jsp] ServletConfig, ServletContext  (0) 2010.06.17
[Jsp] 한글 깨짐 현상 대처  (0) 2010.06.15
[Jsp] 다중 국가 언어 설정  (0) 2010.06.15

+ Recent posts