java伪静态urlrewrite

使用伪静态好处

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中初始化。加上下面的代码:

  1. <!– Set URL Rewrite Filter–>
  2. <filter>
  3. <filter-name>UrlRewriteFilter</filter-name>
  4. <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
  5. <init-param>
  6. <param-name>logLevel</param-name>
  7. <param-value>WARN</param-value>
  8. </init-param>
  9. </filter>
  10. <filter-mapping>
  11. <filter-name>UrlRewriteFilter</filter-name>
  12. <url-pattern>/*</url-pattern>
  13. </filter-mapping>

第三步:在WEB-INF目录下建一个urlrewrite.xml文件。

  1. <?xml version=“1.0” encoding=“UTF-8” ?>
  2. <!DOCTYPE urlrewrite PUBLIC “-//tuckey.org//DTD UrlRewrite 3.2//EN” “http://tuckey.org/res/dtds/urlrewrite3.2.dtd”>
  3. <urlrewrite>
  4. <rule>
  5. <from>^/previewTempt-template_(w+).html$</from>
  6. <to type=“forward”>/previewTempt?template=$1</to>
  7. </rule>
  8. </urlrewrite>

$1代表与配置正规表达式(w+)相对应参数

代码说明:

  1. .    匹配除换行符以外的任意字符
  2. w   匹配字母或数字或下划线或汉字
  3. s   匹配任意的空白符
  4. d   匹配数字
  5. b   匹配单词的开始或结束
  6. ^    匹配字符串的开始
  7. $    匹配字符串的结束

注意

1)不要习惯Java的命名法把它写成urlRewrite.xml,这样即使你加上

  1. <init-param>
  2. <param-name>confPath</param-name>
  3. <param-value>/WEB-INF/urlRewrite.xml</param-value>
  4. </init-param>

在启动的服务器的时候还是会报错的,因为源码中必须是全小写的(urlrewrite.xml)且只能放到WEB-INF下面。

2)特别注意Struts2过滤器。


【AD】美国洛杉矶CN2 VPS/香港CN2 VPS/日本CN2 VPS推荐,延迟低、稳定性高、免费备份_搬瓦工vps

【AD】RackNerd 推出的 KVM VPS 特价优惠,在纽约、西雅图、圣何塞和阿什本每年仅需 12.88 美元!