问题
在Spring MVC应用程序中,404 error code 被合适的配置。web.xml文件中配置如下所示:
文件: web.xml
- <web-app ...>
-
-
<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>*.htm</url-pattern>
-
</servlet-mapping>
-
-
//...
-
<error-page>
-
<error-code>404</error-code>
-
<location>/WEB-INF/pages/404.htm</location>
-
</error-page>
-
-
</web-app>
然而,当用户访问不存在的资源时,浏览器会呈现一个空白页而不是我们在web.xml中配置的404.htm
404 error code已经配置了,但是会引起servlet容器和Spring的DispatcherServlet中的".htm"扩展名处理冲突。我们常说将404.htm改为其他扩展名,如改为404.jsp
文件 : web.xml
- <web-app ...>
-
-
<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>*.htm</url-pattern>
-
</servlet-mapping>
-
-
//...
-
<error-page>
-
<error-code>404</error-code>
-
<location>/WEB-INF/pages/404.jsp</location>
-
</error-page>
-
-
</web-app>
现在,当用户访问任意不存在的资源时,它就会转向404.jsp页面。
阅读(5229) | 评论(0) | 转发(0) |