RequestDispatcher.forward() 方法和HttpServletResponse.sendRedirect()方法的区别

RequestDispatcher.forward() 方法和HttpServletResponse.sendRedirect()方法的区别

先贴一段代码

    public void logon(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
        
        RequestDispatcher rd=null;

        LoginJdbc login=new LoginJdbc();
        Student stu = new Student();
        stu.setNum(request.getParameter("userNum"));
        stu.setPassword(request.getParameter("userPass"));
            
        boolean mark = login.login(stu);                  //获取登入标记
            
        if(!mark){
            response.sendRedirect("2/error.jsp");
        }
        else{
            rd=request.getRequestDispatcher("2/Registration.jsp");
            rd.forward(request,response);
        }            
    
    }

代码中用到了RequestDispatcher.forward() 方法和HttpServletResponse.sendRedirect()方法,所以我就在思考着俩个方法有什么区别,然后通过运用我的代码,总结了一下表格:

RequestDispatcher.forward() 方法 HttpServletResponse.sendRedirect()方法
运行在服务端 运行在客户端
浏览器url地址不变化

 

浏览器url地址变化                 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。