SecondFilter
/filter/*.jsp
服务器启动就出错[color=red]Invalid /filter/*.jsp in filter mapping[/color]
我很是郁闷啊,通过>/filter/*就可以配置成功,加个.jsp就不行吗
[color=blue][b]
你可以就路径定为/filter/* , 然后再Filter中检测是否是.jsp结尾
看下Servlet规范中,对url-pattern的定义吧:
Servlet JSR(2.3) 11.2章在web应用描述文件中,匹配的定义如下:
以'/'开始,以'/*'为结尾的字符串,用作路径匹配
以'*.'开始的字符串,用作扩展名匹配
包含'/'字符串,定义一个默认的servlet。如匹配的servlet路径是请求URI路径的最小上下文路径,路经的info为空。
其它的字符串用作精确的匹配。[/b][/color]
访问jsp不会经过过滤器吧,我以前用过都是配置servlet或struts里的.do,.action.
那你把jsp放在某个目录下,拦截某个目录可以吗?
[size=medium]/filter/* 或者 *.jsp
/filter/*.jsp 是不符合规则的。[/size]
[size=medium]
上次回答,容易被误解:
/filter/* 匹配filter目录下的所有资源
*.jsp 匹配所有的jsp请求
/filter/*.jsp 是不符合规则的,无法匹配。
PS:请对照Servlet规范中的描述。
[/size]
[b]
Servlet JSR(2.3) 11.2章[/b]
[size=medium][quote]在web应用描述文件中,匹配的定义如下:
以'/'开始,以'/*'为结尾的字符串,用作路径匹配
以'*.'开始的字符串,用作扩展名匹配
包含'/'字符串,定义一个默认的servlet。如匹配的servlet路径是请求URI路径的最小上下文路径,路经的info为空。
其它的字符串用作精确的匹配。[/quote][/size]
[color=blue][b]
应该不行吧?
你可以这样试试:[/b][/color]
[size=medium]
匹配:/filter/* 然后 在Filter中,判断是否是JSP结尾的。如果不是,直接放行。[/size]