메인.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>


리다이렉팅은 객체를 새로 만들기 때문에 값이 비워진채로 전달됨!
'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 |