Java学习笔记(Redirect重定向和forward转发区别)
重定向和转发的区别
1.概念
重定向(Redirect)就是通过各种方法将各种网络请求重新定个方向转到其它位置(如:网页重定向、域名的重定向、路由选择的变化也是对数据报文经由路径的一种重定向)。
2.JSP跳转方式
方式1 response.sendRedirect(“路径”);
注: 1.JSP跳转后浏览器地址发生变化 2.路径可以是一个绝对的URL,也可以是相对的URL。 3.其底层原理(如代码所示)
resp.setStatus(302);
resp.setHeader("location","/javaWebDemo/loc2Servlet");
通过将Http响应头进行设置的方式。
方式2 RequestDispatcher.forward()
public class localServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
RequestDispatcher rd =request.getRequestDispatcher("loc2Servlet");
rd.forward(request, response);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req,resp);
}
}
总结
部分摘自 .
