需要从过滤@WebFilter中排除js / css / jpg等文件

时间:2012-10-28 13:24:03

标签: java java-ee servlets servlet-filters

我正在过滤每个网址,即使用@WebFilter("/*")。用户需要登录才能查看任何页面,如果他没有被重定向到/login.do页面。

现在当用户转到login.do页面时出现问题,因为用户未登录其他请求,即提取.js,.css,.jpg,.png等请求也被重定向到{ {1}}页面。

我尝试了以下代码:

login.do

但在这种情况下,所有页面都可以访问,甚至没有登录。所以,基本上我需要一种方法来排除css,jpg,js文件的URL过滤。 有帮助吗?提前谢谢。

3 个答案:

答案 0 :(得分:2)

抱歉!那是我的愚蠢错误。正则表达式不正确!

应为.*(css|jpg|png|gif|js)

答案 1 :(得分:1)

如果a/b.jspa/b.giffs这样的网址匹配.*(css|jpg|png|gif|js)

所以RegEx应为.*(\bcss\b|\bjpg\b|\bpng\b|\bgif\b|\bjs\b)

答案 2 :(得分:0)

如果您想获得请求的扩展名,您应该使用:

.*(css|jpg|png|gif|js)$

匹配

hello.htm.jpg
hello.js
hello.ico

不匹配:

hello
hello.
hello.csv
hello.htm
hello.html
hello.shtml
hello.csv
hello.jpg.csv.htm