메인.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%
   request.setCharacterEncoding("UTF-8");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>포워딩 vs 리다이렉팅</title>
</head>
<body>

	<form action="forward.jsp" method="post">
		<input type="text" name="username"> <input type="submit"
			value="페이지 이동">
	</form>

	<hr>

	<form action="response_sendRedirect.jsp" method="post">
		<input type="text" name="username"> <input type="submit"
			value="페이지 이동">
	</form>
	<!-- response객체를 주체로한 리다이렉팅 방식은 jsp액션태그(포워딩)와 다르게, 페이지를 전환/이동 할때에 request,response 객체를 새로 생성함 -->


</body>
</html>

result.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>결과 페이지</title>
</head>
<body>

<h1><%=request.getParameter("username") %></h1>
<h1><%=request.getParameter("email") %></h1>

</body>
</html>

forward.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
	<%
   request.setCharacterEncoding("UTF-8");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>포워딩 방식</title>
</head>
<body>
	<jsp:forward page="result.jsp">
	<jsp:param value="spsbsc@naver.com" name="email"/>
	</jsp:forward>
</body>
</html>

response_sendRedirect.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
	<%
   request.setCharacterEncoding("UTF-8");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>리다이렉팅 방식</title>
</head>
<body>
	<%response.sendRedirect("result.jsp"); %>
</body>
</html>

 

forward 결과
리다이렉팅 결과

리다이렉팅은 객체를 새로 만들기 때문에 값이 비워진채로 전달됨!

'JAVA' 카테고리의 다른 글

서블릿, JSP, DB연동  (0) 2021.09.10
JDBC와 DBCP 개념 정리  (0) 2021.09.10
JSP 내장객체 exception  (0) 2021.08.25
JSP 내장객체  (0) 2021.08.25
JSP로 계산기 만들기  (0) 2021.08.24

+ Recent posts