核心提示:关于servlet中forward和redirect的区别今天来说一说有关于forward和redirect的区别,对于我们web开发来说,你不可能只用一个servletjsp,所以你需要跳转来到达另...
关于servlet中forward和redirect的区别
今天来说一说有关于forward和redirect的区别,对于我们web开发来说,你不可能只用一个servlet&jsp,所以你需要跳转来到达另外的页面来执行你的功能,那么这时候,我们就会用到跳转,但是跳转也是不止一种的即forward和redirect这哥俩。
俩者的区别,主要体现在以下方面:
1.URL上来说,forward是不会改变地址栏中的URL的,而redirect是会改变URL的。
2.从数据的层面上来说,使用forward是可以共享数据的,也就是前一个servlet中的数据是可以传到后一个跳转的servlet中来使用的,而redirect则不会共享数据的。
3.forward实质上是web服务器在进行跳转行为,而redirect是借助客户端来进行跳转行为的,换句话来说,request请求,forward只发送了一次,而redirect是发送了2次request请求。
本质上来说,forward是web容器的行为,而redirect是客户端行为。
最后来说一下,转发和重定向的方式:
forward: RequestDispatcher rdp = request.getRequestDispatcher("something.jsp");
rdp.forward(request, response);
redirect: response.sendRedirect("something.jsp");