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);
    }
}
类别 概念 共享数据 应用 Redirect URL重新定向:可以是任意的URL 不能共享request里面的数据 一般用于用户注销登录时返回主页面和跳转到其它的网站等等

总结

部分摘自 .

经验分享 程序员 微信小程序 职场和发展