response.sendRedirect()와 jsp:forward의 차이점

서울IT코드정리 /kyChoi·2021년 10월 25일
0

인프런 웹쇼핑몰

목록 보기
3/9

해당 메소드는 패러미터 값을 넘겨주지 못해요

얘를 들면t1.jsp 에서

forwardLogin.jsp

<form action="t2.jsp"> 
input 태그에 id를 날리면 
해당 id 는 t2.jsp로 가요
t2.jsp 에서 request.getParameter("id") 로 받고 
바로 response.sendRedirect("t3.jsp") 로 보냈어요
t3.jsp에서 request.getParameter("id")는 없어서 null 이에요~
근데 <jsp:forward page="ResponseRedirect.jsp">
를 사용하면 id가 살아서 t3.jsp에서 아이디를 추출할 수 있습니다.
**forwadLogin.jsp**

<center>
<form action="ResponseProc.jsp" method="post">
<table width="400">
	<tr height ="50">
	<td align ="center" width="150">아이디</td>
	<td width="250"><input type="text" name="id"></td>
	</tr>
	<tr height ="50">
	<td align ="center" width="150">패스워드</td>
	<td width="250"><input type="password" name="id"></td>
	</tr>
	<tr height ="50">
	<td align ="center" colspan="2">
	<input type="submit" value="로그인">&nbsp;&nbsp;<input type="reset" value="취소">
	
	</td>
	</tr>

</table>
</form>
</center>

ResponseProc.jsp

<h2>이 페이지는 로그인 정보가 넘어오는 페이지 입니다.</h2>
<%
	request.setCharacterEncoding("utf-8");

String id = request.getParameter("id");
response.sendRedirect("ResponseRedirect.jsp");
%>
<h3><%=id %></h3>
ResponseRedirect.jsp

<h2>이 페이지는 ResponseRedirect.jsp 페이지 입니다.</h2>
<%
	request.setCharacterEncoding("utf-8");

String id = request.getParameter("id");

%>
<h3><%=id %></h3>

forwardLogin.jsp 에서 보낸 아이디는 <jsp:forward page=""> 를 타고
ResponseRedirect.jsp 로 갑니다, url은 바뀌지 않습니다
<jsp:forward page=""><jsp:param value="" name=""> 으로 보내기도 합니다

profile
건물주가 되는 그날까지

0개의 댓글