Java SpringMVC中的筛选器映射在某些URL上不起作用

Java SpringMVC中的筛选器映射在某些URL上不起作用,java,spring,jsp,spring-mvc,Java,Spring,Jsp,Spring Mvc,我正在使用HTML过滤器从我的jsp页面和servlet的输出中删除空白。我正在学习用SpringMVC开发JSP。所以我对web.xml文件使用过滤器映射和错误页面,我的web.xml代码是 <servlet> <servlet-name>mvc-dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet<

我正在使用HTML过滤器从我的jsp页面和servlet的输出中删除空白。我正在学习用SpringMVC开发JSP。所以我对web.xml文件使用过滤器映射和错误页面,我的web.xml代码是

<servlet>
    <servlet-name>mvc-dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>mvc-dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

<error-page>
    <error-code>404</error-code>
    <location>/error404</location>
</error-page>

<filter>
    <filter-name>whitespaceFilter</filter-name>
    <filter-class>test.web.htmlminify.HTMLMinifyFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>whitespaceFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
其中有homePage()、testPage()和errorPage()方法,这些方法返回以下内容:

return "home";
return "test";
return "error";
我在WEB-INF文件夹外有一个jsp文件,名为abc.jsp file

所以情况是,当我访问
localhost、localhost/abc.jsp、localhost/testpage
localhost/error404

过滤器映射正在工作,因为当我在浏览器中看到html网页的源代码时,其中没有空白,但当我尝试访问
localhost/ashjb
localhost/kjdhvid/sdvfdjiu
类似的内容时,过滤器映射不起作用。这意味着当servlet在浏览器中调用“error”页面而不是直接错误控制器方法时,我在html页面中看到空白
localhost/error404
是对错误页面servlet的直接调用。那么有谁能帮助我并建议我该怎么做


谢谢你的帮助。

正如@fzzfzz所说,我需要添加这两个调度员

<dispatcher>REQUEST</dispatcher>
<dispatcher>Error</dispatcher>
请求
错误

它成功了。Thanx@fzzfzzfzz

默认情况下,过滤器仅在成功请求时执行。请参阅:显然,您需要添加
错误
请求
,以获得对成功和不成功请求执行的筛选器。但是,找不到比这更明确的方法了——试试看,看它是否有用。Thanx@fzzfzz:D
<dispatcher>REQUEST</dispatcher>
<dispatcher>Error</dispatcher>