Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2538377
  • 博文数量: 245
  • 博客积分: 4125
  • 博客等级: 上校
  • 技术积分: 3113
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-25 23:56
文章分类

全部博文(245)

文章存档

2015年(2)

2014年(26)

2013年(41)

2012年(40)

2011年(134)

2010年(2)

分类: Java

2011-11-02 09:27:09

问题

在Spring MVC应用程序中,404 error code 被合适的配置。web.xml文件中配置如下所示:

文件: web.xml

  1. <web-app ...>
  2.  
  3.   <servlet>
  4.       <servlet-name>mvc-dispatcher</servlet-name>
  5.         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  6.         <load-on-startup>1</load-on-startup>
  7.   </servlet>
  8.  
  9.   <servlet-mapping>
  10.      <servlet-name>mvc-dispatcher</servlet-name>
  11.         <url-pattern>*.htm</url-pattern>
  12.   </servlet-mapping>
  13.  
  14.   //...
  15.   <error-page>
  16.     <error-code>404</error-code>
  17.     <location>/WEB-INF/pages/404.htm</location>
  18.   </error-page>
  19.  
  20. </web-app>

然而,当用户访问不存在的资源时,浏览器会呈现一个空白页而不是我们在web.xml中配置的404.htm

404 error code已经配置了,但是会引起servlet容器和Spring的DispatcherServlet中的".htm"扩展名处理冲突。我们常说将404.htm改为其他扩展名,如改为404.jsp


文件 : web.xml

  1. <web-app ...>
  2.  
  3.   <servlet>
  4.       <servlet-name>mvc-dispatcher</servlet-name>
  5.         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  6.         <load-on-startup>1</load-on-startup>
  7.   </servlet>
  8.  
  9.   <servlet-mapping>
  10.      <servlet-name>mvc-dispatcher</servlet-name>
  11.         <url-pattern>*.htm</url-pattern>
  12.   </servlet-mapping>
  13.  
  14.   //...
  15.   <error-page>
  16.     <error-code>404</error-code>
  17.     <location>/WEB-INF/pages/404.jsp</location>
  18.   </error-page>
  19.  
  20. </web-app>

现在,当用户访问任意不存在的资源时,它就会转向404.jsp页面。


谢谢访问!

阅读(5175) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~