Jsp 服务器resin的url重定向的摸索

类别:Java 点击:0 评论:0 推荐:

最简单的是基于各种WEB服务器中的URL重写转向(Rewrite)模块的URL转换:
这样几乎可以不修改程序的实现将 news.jsp?id=234 这样的链接映射成 news/234.html,从外面看上去和静态链接一样。resin服务器上可以通过webinfo的web.xml来设置:URL REWRITE功能之强大足够写上一本书。

当我需要将将news.jsp?id=234的映射成news/234.html时,只需设置web-inf所在目录下面的web.xml:

并且增加以下语句
<filter filter-name='rewrite'
        filter-class='com.caucho.filters.RewriteFilter'>
  <init>
    <rewrite pattern="/(\d+)\.html" target="/\news.jsp\?id=$1"/>
    //<rewrite pattern="/value_(.+)\.html" target="/\news.jsp\?t=$1"/> 这句是作为另外的参数设置的
  </init>
</filter>

<filter-mapping url-pattern='/*' filter-name='rewrite'/>


 

其他方法大家可以自己去摸索,rewrite的功能非常强大。这样设置后就可以通过1234.htm这样的链接访问原来的动态页面了。

通过URL REWRITE还有一些好处:

隐藏后台实现:这在后台应用平台的迁移时非常有用:当从jsp迁移到asp平台时,对于前台用户来说,根本感受不到后台应用的变化; 简化数据校验:因为像(\d+)这样的参数,可以有效的控制数字的格式甚至位数;

比如我们需要将应用从news.jsp?id=234迁移成news.php?query=234时,前台的表现可以一直保持为 news/234.html。从实现应用和前台表现的分离:保持了URL的稳定性,而使用mod_rewrite甚至可以把请求转发到其他后台服务器上。

本文地址:http://com.8s8s.com/it/it15561.htm