ActionForward 讲解

从一个servlet内部,通过运用javax.servlet.RequestDispatcher类的forward方法你就可以将控制流程引导到一个目的资源。
actionForward 实现了这个功能
ActionForward类提供了下面五种构造器:public ActionForward()

  public ActionForward(String path)

  public ActionForward(String path, boolean

   redirect)

  public ActionForward(String name, String path,

   boolean redirect)

  public ActionForward(String name, String path,

   boolean redirect, boolean contextRelative)
redirect布尔值表示的是是否执行了一个重定向(redirect)。(缺省情况下,这个值设置为false,因为redirect比 forward慢。)最后,第五个构造器中的contextRelative布尔值表示该路径是否应该是context-relative的,而不是 module-relative的。
顺便提一句 :redirect 重定向  request 请求丢失 ,页面url为新的地址
forward 转发请求 将request转发出去  url地址为原来的地址

重定向(redirect)——一个对浏览器的指导,让其显示不同的URL而不是当初浏览器所请求的。重定向允许旧的URL被重新指向到目前的URL上,因此当访客使用旧的URL时,不会得到一个“网页没有被找到”的消息(就是通常大家知道的HTTP404错误)。

1. Meta 更新重定向(Meta Refresh redirects)

HTML在<head>部分的meta标签页可以重新链接一个网页——通常被称为“meta”更新重定向例如:
<meta http-equiv="refresh" content="10; url=http://www.doumiao.net">
其中的“10”是告诉浏览器在页面加载10秒钟后自动跳转到doumiao.net。
这种方法常在论坛中见到。如果在论坛上发表帖子,先会看到一个确认页面,几秒后会自动重新跳转回当前的论坛页面中。

从 搜索引擎优化的角度出发,一般不希望自动转向有延迟。不过,如果是用Meta Refresh标识进行转向,一定要注意把延迟时间设定成至少10秒以上。对于这种自动转向法,搜索引擎能够自动检测出来。因而无论网站的转向出于什么目 的,都很容易被搜索引擎视为对读者的误导而受到惩罚。不过,如果跳转延迟时间设置合适,搜索引擎就不会视之为作弊。

meta 标签之NAME属性 详解>>

2. JavaScript重定向 

JavaScript自动重定向脚本可以放在网页的任何位置上,如果要求立即跳转,则可以将其放入网页源码的<head>区内的最上面。例如:
<script language="javascript">location.replace("http://www.doumiao.net")</script> 

用JavaScript 实现自动重定向的好处在于:用户所访问的目标URL不会保留在用户浏览器的历史记录中,如果用户按返回按钮返回,则将回到跳转前的网页,而不是包含 JavaScript自动重定向脚本的跳转页面,所以不会出现当用户点击返回按钮后返回至重定向页,然后该页自动跳转到用户本来想离开的那个页面的尴尬情 形。

由于不能解析javascript,所以搜索引擎无法察觉(自动检测到)用JavaScript脚本进行的自动转向。所以这种技术还经常被搜索的作弊者使用,他们可以让搜索蜘蛛索引旧的页面而让搜索者到新的URL网页(新旧页面内容完全不同)。
这种重定向不会让蜘蛛程序爬到你的新URL,并且他们不会使你的新URL被收录。

3. 301重定向

也称为永久重定向(permanent redirect),是一种对网站浏览器的指令,来显示浏览器被要求显示的不同的URL,当一个网页经历过其URL的最后一次变化以后时使用。一个永久重定向是一种服务器端的重定向,能够被搜索引擎蜘蛛正确的处理。

301 重定向可促进搜索引擎优化效果,从搜索引擎优化角度出发,301重定向是网址重定向中最为可行的一种办法。搜索引擎蜘蛛程序会按照你的意愿,使用301重 定向所提供的新的URL来找到并爬过新的网页。它会索引页面上的所有内容,并会把新的URL收录到索引库中,因此所有带出那个网页的搜索引擎会引导搜索者 到新的URL上,而不是旧的。当蜘蛛程序看到一个301重定向,它也会更新索引库中所有的链接信息,因此所有旧的URL下你网页的所有链接价值被转移到新 的URL上。

什么是301重定向?

4. 302重定向

也被认为是暂时重定向(temporary redirect),一条对网站浏览器的指令来显示浏览器被要求显示的不同的URL,当一个网页经历过短期的URL变化时使用。只有当一个网站或网页在24到48小时之内临时移到其它位置的情况下才能使用该命令。

迄 今为止,能够对302重定向具备优异处理能力的只有Google。也就是说,在网站使用302重定向命令将其它域名指向主域名时,只有Google会把其 它域名的链接成绩计入主域,而其它搜索引擎只会把链接成绩向多个域名分摊,从而削弱主站的链接总量。既然作为网站排名关键因素之一的外链数量受到了影响, 网站排名降低也是很自然的事情了。

什么是302重定向

综上所述,在众多重定向技术中,301永久性重定向是最为安全的一种途径,也是极为理想的一款解决方案。

ActionForward类定义了三个保护字段――name、path和redirect――它们构成了ActionForward的三个属性。 ActionForward类提供getter和setter方法来从这些字段读值、给这些字段赋值。这些方法是不需要说明的,定义如下:public boolean getContextRelative()

  public void setContextRelative(boolean

   contextRelative)

  public String getName()

  public void setName(String name)

  public String getPath()

  public void setPath(String path)

  public boolean getRedirect()

  public void setRedirect(boolean redirect)

  除此之外,ActionForward类还重载了toString方法并返回:"ActionForward[" + name + "]"

  其中name是名称字段。

  最后,还有一个freeze方法,它固定了一个组件的配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值