客户端跳转
只能传递session及application范围的属性,而无法传递request范围的属性
@WebServlet(name="clientRedirect",urlPatterns = "/ClientRedirectDemo")
public class ClientRedirectDemo extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.getSession().setAttribute("name","rose");
req.setAttribute("info","ship");
resp.sendRedirect("get_info.jsp");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req,resp);
}
}
服务器端跳转
可以传递session,application及request范围的属性
@WebServlet("/ServerRedirectDemo")
public class ServerRedirectDemo extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.getSession().setAttribute("name","jack");
req.setAttribute("info","ship");
RequestDispatcher rd = req.getRequestDispatcher("get_info.jsp");
rd.forward(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req,resp);
}
}
显示jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>ClientRedirect</title>
</head>
<body>
<%
request.setCharacterEncoding("UTF-8");
%>
<h2>session属性:<%=session.getAttribute("name")%></h2>
<h2>request属性:<%=request.getAttribute("info")%></h2>
</body>
</html>