Spring MVC JavaConfig webapp中的“error-page”配置? (没有web.xml)

我如何使用Java配置将“错误页面”类型配置添加到Spring MVC webapp? (没有web.xml)?

 404 /errors/404  

我想使用这样的配置(在Java Config中)将所有未捕获的exception转发到特定的控制器方法。

我希望避免使用@ControllerAdvice / @ExceptionHandler配置(这允许我创建一个可以处理所有错误的控制器方法),因为我希望Spring Security能够继续捕获Access Deniedexception,并且只允许任何其他exception由我的代码处理。

看起来这里有一个类似的问题: Spring JavaConfig没有捕获PageNotFound?

看看https://java.net/jira/browse/SERVLET_SPEC-50 – 没有web.xml就无法配置它,但你可以创建手动filter来为你做同样的事情。

您可以创建SimpleMappingExceptionResolver bean,并为http错误设置页面,而无需使用web.xml。 或任何例外的默认视图。 这里:

  @Bean public SimpleMappingExceptionResolver simpleMappingExceptionResolver(){ SimpleMappingExceptionResolver resolver = new SimpleMappingExceptionResolver(); //page and statusCode pare //you also can use method setStatusCodes(properties) resolver.addStatusCode(viewName, statusCode); //set views for exception Properties mapping = new Properties(); mapping.put("ua.package.CustomException" , "page") resolver.setExceptionsMapping(mapping); return resolver; }