去掉url 后面的jsessionid
2016-05-04 12:11
555 查看
我们使用urlrewrite将返回的url信息直接过滤掉,找出其中所有包jsession字样的内容,把它们删掉。
我们的项目使用maven,首先在pom文件里加入以下配置
<dependency>
<groupId>org.tuckey</groupId>
<artifactId>urlrewritefilter</artifactId>
<version>3.2.0</version>
</dependency>
如果不是maven项目,那么需要自行去找urlrewritefilter-3.2.0.jar的下载
之后配置web.xml文件,启用这个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>
请注意filter的顺序,虽然我不清楚具体顺序有什么要求,因为filter太多,一一去试太麻烦了。但有一次我将它放在所有filter的最后,它没起作用。我猜想可能和seam的filter之间的顺序有关。
目前我将这个filter放在第一个。
之后我们还要写一个UrlRewrite的配置文件,在WEB-INF目录下新建urlrewrite.xml文件,其内容如下:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN"
"http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">
<urlrewrite>
<outbound-rule encodefirst="true">
<from>^(.*);jsessionid=.*$</from>
<to>$1</to>
</outbound-rule>
<outbound-rule match-type="wildcard">
<from>*;jsessionid=*</from>
<to>$1</to>
</outbound-rule>
</urlrewrite>
其中的outbound-rule表示是返回给客户端的url,如果是访问的url,那么直接是rule。(比如我要将所有到某个地址的url,全部重定向到另一个地址,就可以用rule标签)
from表示规则,用正则表达式表示。to表示满足规则后转换为什么内容。S1表示from中第一段正则表达式匹配的内容。(比如用*;jsessionid=*匹配了 localhost:8080/mywebapp/test.jsp?cid=1;jsessionid=123456,那么最后返回给浏览器的地址只会是localhost:8080/mywebapp/test.jsp?cid=1。后面的jsession就被去掉了)
到这里就全部完成了,重启就能看到效果。
我们的项目使用maven,首先在pom文件里加入以下配置
<dependency>
<groupId>org.tuckey</groupId>
<artifactId>urlrewritefilter</artifactId>
<version>3.2.0</version>
</dependency>
如果不是maven项目,那么需要自行去找urlrewritefilter-3.2.0.jar的下载
之后配置web.xml文件,启用这个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>
请注意filter的顺序,虽然我不清楚具体顺序有什么要求,因为filter太多,一一去试太麻烦了。但有一次我将它放在所有filter的最后,它没起作用。我猜想可能和seam的filter之间的顺序有关。
目前我将这个filter放在第一个。
之后我们还要写一个UrlRewrite的配置文件,在WEB-INF目录下新建urlrewrite.xml文件,其内容如下:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN"
"http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">
<urlrewrite>
<outbound-rule encodefirst="true">
<from>^(.*);jsessionid=.*$</from>
<to>$1</to>
</outbound-rule>
<outbound-rule match-type="wildcard">
<from>*;jsessionid=*</from>
<to>$1</to>
</outbound-rule>
</urlrewrite>
其中的outbound-rule表示是返回给客户端的url,如果是访问的url,那么直接是rule。(比如我要将所有到某个地址的url,全部重定向到另一个地址,就可以用rule标签)
from表示规则,用正则表达式表示。to表示满足规则后转换为什么内容。S1表示from中第一段正则表达式匹配的内容。(比如用*;jsessionid=*匹配了 localhost:8080/mywebapp/test.jsp?cid=1;jsessionid=123456,那么最后返回给浏览器的地址只会是localhost:8080/mywebapp/test.jsp?cid=1。后面的jsession就被去掉了)
到这里就全部完成了,重启就能看到效果。
相关文章推荐
- //将字典或者数组转化为JSON串
- Modular javascript(javascript模块化编程)
- jsp <c:forEach> 判断第一条 或 最后一条记录
- 弱智错误集锦N:result无法返回json
- Javascript 初识Javascript
- js 实现map
- 将json格式的字符串解析成Map对象
- JS省市区三级联动
- Extjs4 grid的排序
- 纯JS代码实现气泡效果
- JavaScript中清空数组的三种方式
- js弹出浏览器窗口
- Selectize.js插件使用简介
- jsp简单功能属性
- JS中的!=、== 、!==、===的用法和区别
- ExtJS -- form提交之取ComboBox的值
- jsp标签
- Jsp的最佳实践
- Jsp的内置对象
- javaScript 填充表单值的方法