使用基于Java的容器配置时如何设置自定义未找到的页面?

时间:2015-07-28 11:51:01

标签: spring-mvc

我正在尝试使用WebApplicationInitializer设置Spring 4.1.7 MVC应用程序。问题是,当我的用户尝试点击没有映射的页面时,他们会得到一个tomcat 403页面。我得到PageNotFound:1136 - No mapping found for HTTP request with URI <my URI> in DispatcherServlet with name 'dispatcher'

我不想使用web.xml,也找不到与设置自定义403页面相关的任何内容。请帮忙!

提前致谢!

1 个答案:

答案 0 :(得分:0)

根据您提供的错误消息,我相信您会想要添加:

ServletRegistration.Dynamic servlet = servletContext.addServlet("dispatcher", new DispatcherServlet(<your root context here>));
servlet.setInitParameter("throwExceptionIfNoHandlerFound", "true");

虽然覆盖了Spring的WebApplicationInitializer接口提供的onStartup(ServletContext servletContext)方法(提供Servlet注册行是为了清晰起见)。

然后你还需要添加一个exception handler方法并处理Spring网站提供的NoHandlerFoundException。

相关问题