Java SpringMVC中的筛选器映射在某些URL上不起作用
我正在使用HTML过滤器从我的jsp页面和servlet的输出中删除空白。我正在学习用SpringMVC开发JSP。所以我对web.xml文件使用过滤器映射和错误页面,我的web.xml代码是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<
<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>