forward和redirect的区别
答:forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。
redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取
前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。
a页面-------->b页面(-->代表两种方法的一种)
a页面里有一个动作:request.setAttribute("temp",object);
Response.forward()---->用这个方法到达b,可以在b里通过request.getAttribute("temp")得到存储的object对象,这个方法扩大了request里保存的值的作用范围;
Response.redirect()---->用这个方法到达b,object对象将丢失。
如果想到达b页面(无论是哪个方法)而有想得到object对象,则最好将object对象保存在request.getSession()里,也就是Session对象里
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/senmon2004/archive/2006/04/07/654049.aspx
分享到:
相关推荐
它们的主要区别在于请求处理流程、URL改变以及数据共享方式。 1. 转发(Forward): - 使用`RequestDispatcher.forward()`方法实现。 - 请求转发是在服务器内部完成的,客户端浏览器并不知情。这意味着,浏览器的...
在开发Web应用时,我们经常会遇到“forward”和“redirect”的概念,它们是两种不同的页面跳转方式。理解和掌握它们的区别对于优化用户交互和处理请求流至关重要。 **forward(转发)**: - 转发是由服务器端完成的...
在Web开发中,"转发"(Forward)和"重定向"(Redirect)是两种常见的请求处理方式,它们在实现客户端和服务器之间的交互时起到至关重要的作用。了解它们的区别对于优化用户体验和提高应用性能至关重要。 首先,让...
19.Servlet中forward和redirect的区别.avi
Java面试题19.forward和redirect的区别.mp4
文中详细介绍了两种请求转发方式的原理和区别,包括请求转发的含义、Forward转发请求的原理、Redirect转发请求的原理等。 请求转发的含义 在JAVA web开发中,请求转发是指服务器端将用户的请求转发给其他信息资源...
### Forward与Redirect解析 在Web开发中,Forward(转发)与Redirect(重定向)是两种常见的页面跳转方式。它们虽然都可以实现从一个页面跳转到另一个页面的功能,但在实现机制、应用场景以及对用户浏览器地址栏的...
当我们需要在不同的页面之间导航时,`forward`和`redirect`是两种常见的处理请求转发和重定向的方法。本文将深入探讨这两种机制及其区别。 首先,`forward`是通过服务器端内部跳转实现的。它使用`RequestDispatcher...
`forward()`操作发生在服务器端,对客户端浏览器而言是透明的,即浏览器的URL不会改变,而且请求和响应对象在转发过程中保持不变,可以共享`Request`范围内的数据。 相对地,`sendRedirect()`是`...
ActionForward的使用 1、理解全局和局部ActionForward的概念 2、redirect的使用 3、struts-config.xml文件不允许动态修改 4、理解动态ActionForward,动态的ActionForward是可以运行期修改的
主要分为直接请求转发(Forward)和间接请求转发(Redirect)。这两种转发方式在处理请求时有着显著的区别。 直接请求转发(Forward): 直接请求转发是服务器内部的资源调度,用户在浏览器中只会看到最初的请求...
springMVC3学习 九 redirect和forward跳转 源码 文章地址http: blog csdn net itmyhome1990 article details 26286669
通过合理配置ActionForward,可以有效地管理应用程序的控制流和数据流,实现更加灵活和高效的Web应用开发。开发者应充分了解ActionForward的各项属性及其使用场景,以便在实际项目中发挥其最大效能。
1. **Forward 和 Redirect 区别** - Forward(转发)是服务器内部操作,它不会改变URL地址,浏览器看到的始终是最初的请求URL,而服务器在后台处理请求并调用其他资源。 - Redirect(重定向)则是服务器向浏览器...
<forward name="login" path="/login.jsp" redirect="true"/> ``` 在这个例子中,`name`属性指定了这个`ActionForward`的名称,`path`属性定义了转发的目标路径,而`redirect`属性则表示是否需要执行重定向操作。 ...
1. Web 中的 Forward 和 Redirect 区别: - Forward 是服务器内部的重定向,客户端浏览器地址栏的URL不会改变,适合于在同一个应用内部进行页面跳转,效率较高,有助于隐藏实际链接。 - Redirect 是完整的HTTP...
在Web开发中,"forward"不同于"redirect"。重定向(Redirect)会发送一个新的HTTP响应到客户端,让浏览器加载不同的URL;而转发(Forward)则是在服务器端内部完成的,用户浏览器看到的仍然是原始请求的URL,但实际...
通过深入理解和正确配置上述元素,你可以有效地在Struts2框架中利用`<jsp:forward/>`标签实现页面的跳转,避免遇到“no found”的问题。同时,也要注意,在现代Web开发中,更多地使用`<s:redirect/>`标签进行重定向...
2. **Servlet中,forward和redirect区别是什么?** - `forward`是服务器内部转发,客户端浏览器不会看到转发过程,URL不变。 - `redirect`是客户端重定向,浏览器会发送一个新的请求,URL会发生变化。 #### 十、...
1. 请求重定向(Redirect): 请求重定向是通过`Response`对象来实现的,服务器在收到请求后,会返回一个状态码3xx(如301永久重定向,302临时重定向),并在响应头中设置`Location`字段,指示客户端应该去新的URL...