Urlrewritefilter使用说明

来源:互联网 发布:手机美女直播软件 编辑:程序博客网 时间:2024/05/22 04:11


    博客分类:
  • Urlrewritefilter
 

一、Urlrewritefilter说明及优势

       Urlrewritefilter,通过java的Filter过滤器对URL进行重写,用户得到的全部都是经过处理后的URL地址,本质上通过伪地址进行页面跳转,隐藏真实地址,达到掩人耳目的目的,哈哈。

有以下优势:
1:提高安全性,可以有效的避免一些参数名、ID等完全暴露在用户面前,如果用户随便乱输的话,不符合规则的话直接会返回个404或错误页面,这比直接返回500或一大堆服务器错误信息要好的多 
2:美化URL,去除了那些比如*.do,*.action之类的后缀名、长长的参数串等,可以自己组织精简更能反映访问模块内容的URL 

3:更有利于搜索引擎的收入,通过对URL的一些优化,可以使搜索引擎更好的识别与收录网站的信息

 

二、网络资源

 1、下载地址 官网:http://tuckey.org/urlrewrite/   google code :https://code.google.com/p/urlrewritefilter/

 2、文档使用说明:http://urlrewritefilter.googlecode.com/svn/trunk/src/doc/manual/4.0/index.html

 

三、使用步骤

1、在web.xml中加入以下代码 

Java代码  收藏代码
  1. <filter>  
  2.     <filter-name>UrlRewriteFilter</filter-name>  
  3.     <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>  
  4. </filter>  
  5. <filter-mapping>  
  6.     <filter-name>UrlRewriteFilter</filter-name>  
  7.     <url-pattern>/*</url-pattern>  
  8.     <dispatcher>REQUEST</dispatcher>  
  9.     <dispatcher>FORWARD</dispatcher>  
  10. </filter-mapping>  

 2、在urlrewrite.xml配置文件中进行地址映射规则,使用正则表达式

Xml代码  收藏代码
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.2//EN"  
  3.         "http://tuckey.org/res/dtds/urlrewrite3.2.dtd">  
  4.   
  5. <urlrewrite>  
  6.   
  7.     <rule>  
  8.         <from>^/newsInfo-list-([0-9]+).shtml$</from>  
  9.         <to>/NewsInfo.do?method=list&amp;mod_id=$1</to>  
  10.     </rule>  
  11.     <outbound-rule>  
  12.         <from>/NewsInfo.do\?method=list&amp;mod_id=([0-9]+)$</from>  
  13.         <to>/newsInfo-list-$1.shtml</to>  
  14.     </outbound-rule>    
  15.   
  16. </urlrewrite>  

 3、JSP中使用如下地址

 

Java代码  收藏代码
  1. <c:url var="url_1001001000" value="/NewsInfo.do?method=list&mod_id=1001001000" />  
  2. <li><a href="${url_1001001000}">测试地址</a></li>  

   官网文档中提供如下使用方式:

Xml代码  收藏代码
  1. Using the example above JSP's with the code   
  2. <a href="<%= response.encodeURL("/world.jsp?country=usa&amp;city=nyc") %>">nyc</a>   
  3. will output   
  4. <a href="/world/usa/nyc">nyc</a>  
  5.   
  6. Or JSTL   
  7. <a href="<c:url value="/world.jsp?country=${country}&amp;city=${city}" />">nyc</a>   
  8. will output   
  9. <a href="/world/usa/nyc">nyc</a>  
  10.   
  11. Note, If you are using JSTL (ie, <c:url) this will work also.  

  

4、基本原理

Xml代码  收藏代码
  1. jsp页面地址--> 服务器filter过滤 --> 调用urlrewrite.xml映射规则  --> 服务器响应 --> 转换成伪地址  

 

5、小结:Urlrewritefilter简单易学易用,是Java  Web开发中地址隐藏的不二选择。

0 0