ServletResqonse接口中的sendReadirect()方法和forward()方法的区别  

        二个方法都是用于请求转发的方法,转发给另外的资源为客户端服务。但二者有本质的区别

       sendReadirect()方法原理:   

              1,客户端发送请求,Servlet1做出处理。   

              2,Servlet1调用sendReadirect()方法,将客户端的请求 重新定位 到Servlet2。   

              3,客户端浏览器访问Servlet2.  

             4,Servlet2对客户端浏览器做出响应。

       forward()方法原理:  

              1,客户端发送请求,Servlet1做出处理。  

              2,Servlet1调用sendReadirect()方法,将请求转发给Servlet2来处理请求,为客户端服务。   

              3,Servlet2对客户端浏览器做出响应。      

      区别:   

           1,定位与转发   

                   sendReadirect()方法是重新定位到另外一个资源来处理请求,URL会重新定位,让客户端重新访问另外一个资源。     forward()方法是转发到另外一个资源来处理请求。URL不会变化。隐藏了处理对象的变化。   

           2,处理请求的资源的范围   

                 sendReadirect()方法可以跨WEB应用程序和服务器重新定位资源来处理请求。     forward()方法只能在应用程序内部转发。

相关文章: