2012-03-27 67 views
5

通过一些遗留代码,我有我用struts一个的正面看去,我看到:重定向或转发

<global-forwards> 
    ... 
    <forward name="accessDenied" path="/www/jsp/AccessDeniedForm.do" redirect="true" /> 
</global-forwards> 

所以它只是一个全球性的期待发送到拒绝访问页面。 我很好奇重定向的决定,而不是转发。使用它的优点和缺点是什么?

+0

答案我一直在寻找的是在这里... http://stackoverflow.com/questions/614516/why-use-redirect-true-in-struts-1-forward这个线程可以被关闭为重复。抱歉。 – dublintech 2012-04-03 14:54:30

回答

5

什么是亲的和使用它的反对的?

在讨论pro和con的使用重定向设置为true的前向元素之前,让我们先了解一下实际的配置。当forward元素中的重定向设置为true时,应该向用户代理发出重定向指令,以便为该前锋的资源发出新的请求。这link可能会提供您需要的详细信息。

对重定向的默认值是假的,基本上是当正向元素被调用,它期待指定路径,就是这样。如果您将重定向设置为true,则例如,浏览器将发出另一个请求。所以我认为这些说,你可能知道或有一个想法,亲和你是否真的想要使用它。

1

在重定向,控制可被引导到不同的服务器或甚至另一个域name.The重定向需要一个圆trip.When重定向被发出,它被发送回客户端,和重定向的URL信息是在标题指示浏览器移至下一个URL。这将作为新的请求,所有请求和响应数据都将丢失。

在前进,转发由服务器端完成,客户端浏览器的网址不change.the数据也没有lost.It就像一个浏览器页面刷新。无论第一次提交发布的数据是否重新提交,请谨慎使用。

正向和重定向在不同的场景中使用,全球前应重定向,因为这是一个错误的情况。

重定向速度较慢,因为它需要往返。前进速度更快。

+0

我明白转发和重定向之间的区别。我只是在寻找两种方法的pro和con,以及何时在struts配置中使用每种方法。 – dublintech 2012-04-02 18:52:41

+0

正反两面也解释了上面的答案。 – cherit 2012-04-03 11:21:26

0

如果指定

重定向= “真”,Struts使用一个客户端重定向

[response.sendRedirect是()]

。 JSP将被新的浏览器请求调用,并且存储在旧请求中的任何数据都将丢失。