使用伪静态好处
1)更好满足搜索引擎要求;
2)更美观,给用户带来更良好的体验;
3)安全性(页面,参数,技术)。
工作原理
它就是一个简单的过滤器(Filter),看看源码你就会很快的明白,它就是通过我们在jsp中常用的两个方法实现的forward(),sendRedirect()
配置步骤
第一步:下载urlrewrite-3.2.0.jar,下载地址:http://urlrewritefilter.googlecode.com
/files/urlrewritefilter-3.2.0.zip。把urlrewrite-3.2.0.jar拷到classpath下。
第二步:在web.xml中初始化。加上下面的代码:
- <!-- Set URL Rewrite Filter-->
- <filter>
- <filter-name>UrlRewriteFilter</filter-name>
- <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
- <init-param>
- <param-name>logLevel</param-name>
- <param-value>WARN</param-value>
- </init-param>
- </filter>
- <filter-mapping>
- <filter-name>UrlRewriteFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
第三步:在WEB-INF目录下建一个urlrewrite.xml文件。
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.2//EN" "http://tuckey.org/res/dtds/urlrewrite3.2.dtd">
- <urlrewrite>
- <rule>
- <from>^/previewTempt-template_(w+).html$</from>
- <to type="forward">/previewTempt?template=$1</to>
- </rule>
- </urlrewrite>
$1代表与配置正规表达式(w+)相对应参数
代码说明:
- . 匹配除换行符以外的任意字符
- w 匹配字母或数字或下划线或汉字
- s 匹配任意的空白符
- d 匹配数字
- b 匹配单词的开始或结束
- ^ 匹配字符串的开始
- $ 匹配字符串的结束
注意
1)不要习惯Java的命名法把它写成urlRewrite.xml,这样即使你加上
- <init-param>
- <param-name>confPath</param-name>
- <param-value>/WEB-INF/urlRewrite.xml</param-value>
- </init-param>
在启动的服务器的时候还是会报错的,因为源码中必须是全小写的(urlrewrite.xml)且只能放到WEB-INF下面。
2)特别注意Struts2过滤器。