我在配置Filter-mapping时,配置如下:
<filter-mapping>
<filter-name>aFilter</filter-name>
<url-pattern>/a/*</url-pattern>
</filter-mapping>
希望能过滤网站a地址下的所有请求。在实际的运行中,它确实能过滤a地址下的,不会过滤b地址下的。但是对于不在子目录下的请求(假如我的站点叫demo),如:http://localhost:8080/demo/aDemo.do,这个请求地址竟然能和 <url-pattern>/a/*</url-pattern>匹配。这显然是错误的。我们仅希望能过滤http://localhost:8080/demo/a/*.do。
经过查询无数资料,终于发现了,应该修改映射为:
<filter-mapping>
<filter-name>aFilter</filter-name>
<url-pattern>/a/*.*</url-pattern>
</filter-mapping>
Ok!终于成功啦!
本文介绍了一种在配置Filter Mapping时出现的URL模式匹配错误,并给出了解决方案,即通过精确指定URL模式来确保Filter仅对预期路径进行过滤。
109

被折叠的 条评论
为什么被折叠?



