jsp页面错误的全局处理
网上搜索spring mvc项目全局异常处理: 大致可以找到两种方案 :
方案1: ExceptionHandlerResolver . spring 提供了两种默认实现,当然你也可以自己实现。。
方案2: 使用 @ExceptionHandler 配合 @ControllerAdvice 可以对所有Controller 生效。。
我使用了第二种方案。。对应项目的错误,的确可以处理。。
但是发现对于jsp 中的错误却没有作用, 比如el表达式中 ${a.field} 我可能a对象中就没有field 字段。。 这是就会报el解析错误。。
个人看法: 为什么spring无法统一处理改错误,,可能是el 表达式是tomcat 处理的,和spring 无法,所以spring无法拦截到该错误 。 有大神懂的可以留言指教。。
那就只能在web.xml 中处理了。。
<error-page>
<exception-type>java.lang.RuntimeException</exception-type>
<location>/error</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/error</location>
</error-page>
/error 是一个controller 路径,自己配置调到想要的错误页面就行。。 。