由于Flash 功能,需要生成一个外部的URL连接,访问资源。
但由于URL地址比较长,在传输中不太方便,而且此URL作为推广使用,所以url美观度要保证。。
在使用伪静态连接之前访问的URL如下:
访问内容页面如下:
下面我使用了urlrewritefilter-2.5.1.jar 框架生成伪静态
新建了一个jsp web项目
1.在web.xml 文件中添加如下过滤器
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2.WEB-INF下面增加urlrewrite.xml 文件,这个文件主要配置url的拦截规则
代码如下:
<rule>
<from>/([zjzx|renren|kaixin]+)/([\w]+).html</from>
<to>../link.do?thirdType=$1&cardId=$2</to>
</rule>
from标签标示需要拦截的规则,to生成我真是的地址
&1 指from标签中([zjzx|renren|kaixin]+) 正则表达式验证的内容
&2 指from标签中([\w]+)正则表达式验证的内容
如果我现在访问地址如下:
http://www.mzldream.com/zjzx/12F1CA8EAF9EAA77B72B695D4827FBF5.html
URL "/zjzx/12F1CA8EAF9EAA77B72B695D4827FBF5.html " 就会匹配上from中的正则表达式>/([zjzx|renren|kaixin]+)/([\w]+).html
匹配成功后,就会组合成一个>../link.do?thirdType=zjzx&cardId=12F1CA8EAF9EAA77B72B695D4827FBF5,然后让问这个新组成的url。
由于这个url是以请求转发的形式访问的,所以浏览器上
URL不会改变,通过新的url,获取到参数,就可以跳转自己想访问的url了。