SpringMVC异常处理流程:
- 编写自定义异常类(做提示信息的)
- 编写异常处理器
- 配置异常处理器(跳转到提示页面)
SpringMVC的拦截器:
SpringMVC的拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理与后处理;
先在拦截器中执行代码1,可以放行之后进入到controller中,再从controller中回到拦截器中,执行代码2再返回;
拦截器链,拦截器链就是将拦截器按一定的顺序联结成一条链。在访问被拦截的方法或字段时,拦截器链中的拦截器就会按其之前定义的顺序被调用。
过滤器与拦截器之间的区别:
- 过滤器是servlet规范中的一部分,任何java web工程都可以使用。
- 拦截器是SpringMVvC框架自己的,只有使用了SpringMVC框架的工程才能用。
- 过滤器在url-pattern中配置了/*之后,可以对所有要访问的资源拦截。
- 拦截器它是只会拦截访问的控制器方法,如果访问的是jsp,html,css,image或者js是不会进行拦截的
- 它也是AOP思想的具体应用。
- 我们要想自定义拦截器,要求必须实现:HandlerInterceptor接口。
拦截器编写过程: