Ste*_*son 7 java web.xml servlets servlet-filters
有没有办法让filtermapping不包含子目录?
例如.
我的上下文根目录中有.xhtml文件,我还有一个名为"test"的子文件夹,其文件具有相同的扩展名.有没有可能将过滤器映射到上下文根目录中的文件而不是"test"目录中的文件?
Bal*_*usC 18
这url-pattern
在匹配方面确实是限制性的.它只允许精确,前缀或后缀matchnig.不在中间/整体/正则表达式匹配.所以,例如/*.xhtml
你打算做什么是行不通的.
如果你想中排除XHTML /test
文件夹而已,那么你最好的确实是一个Filter
上听url-pattern
的*.xhtml
,其基本不会在以下工作doFilter()
方法:
// First cast ServletRequest to HttpServletRequest.
HttpServletRequest hsr = (HttpServletRequest) request;
// Check if requested resource is not in /test folder.
if (!hsr.getServletPath().startsWith("/test/")) {
// Not in /test folder. Do your thing here.
}
Run Code Online (Sandbox Code Playgroud)
所述HttpServletRequest#getServletPath()
基本上返回从上下文路径请求URI的一部分.
如有必要,您可以将值配置/test
为<init-param>
过滤器的一个,以便您可以从内部web.xml
而不是过滤器的代码中控制值.
归档时间: |
|
查看次数: |
25900 次 |
最近记录: |