在我的网络应用程序中,我的前置过滤器就像路由器一样。它只是根据请求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?我将非常感谢您的任何回复。
答案 0 :(得分:3)
如果要跳过html文件网址的过滤器,请尝试
if (reqURI.endsWith(".html")) {
chain.doFilter(request, response);
}