spring / javaee自定义404错误页面无法正常工作

时间:2012-10-19 16:25:36

标签: java-ee spring-mvc custom-error-pages

我正在开发这个Spring应用程序,我“突然”决定将错误页面(如404(着名的HTTP 404 Not Found))与更友好的用户页面进行匹配。

经过快速研究后,我发现将此代码添加到web.xml可以解决问题

    <error-page>
        <error-code>404</error-code>
        <location>/error/404.jsp</location>
    </error-page>

这里我们假设我将所需的404.jsp文件添加到/webapp/error/目录。

相关文章:

然而,在运行应用程序并输入随机网址(例如http://localhost:8080/SpringWebApp/myRandomUrladasdad)之后,我发现自己被重定向到另一个标准的404网页 - 而不是我的网页。

仅供参考,这是我的整个web.xml

  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>

  <servlet>
    <servlet-name>springapp</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>springapp</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

  <servlet>
    <servlet-name>imageServlet</servlet-name>
    <servlet-class>sphbmveclp.account.controllers.ImageFromDirServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>imageServlet</servlet-name>
    <url-pattern>/image/*</url-pattern>
  </servlet-mapping>

  <error-page>
    <error-code>404</error-code>
    <location>/error/404.jsp</location>
  </error-page>

经过无法理解的谷歌搜索后,我遇到了这个问题:

http://www.mkyong.com/spring-mvc/404-error-code-is-not-working-in-spring-mvc/

所以我以为我在这里有一些好东西。我认为我的巨大<url-pattern>/</url-pattern>可能导致了所有这些麻烦。所以我在这种情况下将其更改为更具体的<url-pattern>/admin/*</url-pattern>

但没有运气,它仍未达到预期效果。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

很确定404处理在Spring容器之外。你如何处理Spring-MVC上的url模式?你可以发布你的春天上下文文件吗?

答案 1 :(得分:-1)

这只是关于在Eclipse中运行Tomcat 的另一个警告。

如果我手动部署我的应用程序或自动“外部”Eclipse(手动在Tomcat中部署.war文件),我的配置工作得很好

还有其他与在IDE中运行Tomcat相关的问题,例如:

结论:在Eclipse中运行Tomcat时要小心......

答案 2 :(得分:-1)

经过一段合理的谷歌搜索后,我发现了这一点:http://developingdeveloper.wordpress.com/2008/02/20/handling-exceptions-in-spring-mvc-part-1/