拦截ServletException并返回404找不到页面

时间:2016-06-03 08:32:58

标签: java spring spring-mvc servlets

我正在使用基于Spring MVC的应用程序,当我请求一个不存在的URL(" / kama")时,抛出以下异常:

  

javax.servlet.ServletException:无法解析名称为''在   名为'调度员'

的servlet

虽然我需要抛出页面未找到404,但这是我的映射网址:

  

映射" {[/ index],方法= [GET]}"

     

映射" {[/搜索],方法= [GET]}"

     

映射" {[/ display],methods = [GET]}"

     

映射" {[],方法= [GET]}"

     

映射" {[/ json / allProducts],methods = [GET]}"

您能告诉我如何拦截该异常并返回Page Not Found 404错误吗?

1 个答案:

答案 0 :(得分:1)

在您的web.xml中添加以下内容,其中error/404.html是您的自定义错误页面:

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

您的错误意味着您没有视图,而不是URL。 (也许你正在使用Thymeleaf或jsp,或其他东西)你可能会做以下事情:

<error-page>
    <exception-type>java.lang.Throwable</exception-type >
    <location>/ErrorHandler</location>
</error-page>