日期:2014-05-20  浏览次数:20589 次

过滤器
过滤器虽然能过掉
<filter-mapping>
<filter-name>SessionFilter</filter-name>
<url-pattern>/manage/*</url-pattern>
那个路径下的页面是可以过滤掉
可是怎么过掉*.do呢
发现,开多个页面,其中一个关了,其他页面的*.do请求还是过不掉

------解决方案--------------------
如果你想只处理那两种情况,可以针对于同一个Filter配置多个<filter-mapping>,如:
XML code

<filter-mapping>
  <filter-name>SessionFilter </filter-name>
  <url-pattern>/manage/*</url-pattern>
</filter-mapping> 

<filter-mapping>
  <filter-name>SessionFilter </filter-name>
  <url-pattern>*.do</url-pattern>
</filter-mapping>

------解决方案--------------------
那就是个Web层目录结构的规置问题了。
你应该把那些需要权限验证的url也放入到相应的虚拟目录中。
不然,就只能在过滤器中根据url一个个去判断了,做是可以做到,但很麻烦。
建议还是重新规划一下吧。
------解决方案--------------------
1、3、4楼已经说得非常的清楚了!~!
呵呵!~!建议使用这种方式!~!
不然就重新规划一下!~!呵呵
------解决方案--------------------
比如,把所有管理员的需要过滤的操作,都放到/manage虚拟目录中。

比如你原来有个/useradd.do
现在你把path改为/manage/useradd.do
要注意的是可能会有牵连,所以相关的地方都得做相应的改动哦。
所以,以后做项目时应该在一开始就设计好目录结构,免得中途又得改来改去的,麻烦……