我如何跳过静态内容的过滤器?

时间:2014-07-01 12:54:49

标签: java servlets web filter

在我的网络应用程序中,我的前置过滤器就像路由器一样。它只是根据请求URL路由到适当的控制器和动作。为此,我在WEB.xml中添加了以下内容

<filter>
    <filter-name>FrontFilter</filter-name>
    <filter-class>service.FrontFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>FrontFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

但问题是,如果我想要获取静态html页面。我的过滤器也被调用,并开始寻找控制器和动作。当然,它失败了。我尝试将所有静态内容放到/ public文件夹中,然后按照以下方式进行过滤:

if (reqURI.contains("/public/")) {
           chain.doFilter(request, response);
}

但没有成功。 那么,我如何跳过过滤静态内容,如图像和HTML?我将非常感谢您的任何回复。

1 个答案:

答案 0 :(得分:3)

如果要跳过html文件网址的过滤器,请尝试

if (reqURI.endsWith(".html")) {
    chain.doFilter(request, response); 
}