Spring框架--拦截器、异常处理

拦截器:

常用与用户登录验证。

原理:

请求--> 拦截器preHandle() --> true --> Controller --> 拦截器postHandle() --> ViewResolver(JSP) --> 拦截器afterCompletion() --> 响应。

使用方法:

1.自定义一个拦截器类,实现HandlerInterceptor接口

Spring框架--拦截器、异常处理_第1张图片

这里是执行拦截器的方法顺序。

preHandle():处理器执行前被调用。返回true会继续调用拦截器和处理器;返回false则中断执行后续拦截器和处理器;

postHandle():处理器执行后,视图处理前调用。此时可以通过modelAndView对象对模型数据进行处理或视图进行处理;

afterCompletion:请求处理完后调用,如性能监控中我们可以在此记录结束时间并输出消耗时间,还可以进行资源清理。

2.在applicationContext.xml配置拦截器

Spring框架--拦截器、异常处理_第2张图片

 

异常处理:

1、(全局异常)使用SimpleMappingExceptionResolver在配置文件(applicationContext.xml)中进行配置

Spring框架--拦截器、异常处理_第3张图片

2、(比较常用)使用@ExceptionHandler在本类中加入一个自定义的异常处理方法

Spring框架--拦截器、异常处理_第4张图片

3、实现HandlerExceptionResolver接口自定义异常处理器

4、在web.xml增加定义,绝大多数服务器都支持。

Spring框架--拦截器、异常处理_第5张图片

你可能感兴趣的:(Java)