博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC_拦截器
阅读量:3754 次
发布时间:2019-05-22

本文共 1623 字,大约阅读时间需要 5 分钟。

一、拦截器

1、自定义拦截器

SpringMVC 也可以使用拦截器对请求进行拦截处理,用户可以自定义拦截器来实现特定的功能,自定义的拦截器必须实现 HandlerInterceptor接口

继承 HandlerInterceptor 实现一个拦截器

  • preHandle():这个方法在业务处理器处理请求之前被调用,在该方法中对用户请求 request 进行处理。如果程序员决定该拦截器对请求进行拦截处理后还要调用其他的拦截器,或者是业务处理器去进行处理,则返回true;如果程序员决定不需要再调用其他的组件去处理请求,则返回false
  • postHandle():这个方法在业务处理器处理完请求后,但是 DispatcherServlet 向客户段返回响应前被调用,在该方法中对用户请求的request进行处理。
  • afterCompletion():这个方法在 DispatcherServlet 完全处理完请求后被调用,可以在该方法中进行一些资源清理的操作。
     
public class SecondInterceptor implements HandlerInterceptor {    /**     * 该方法在目标方法之前被调用,     * 若返回值为true,则继续调用后续的拦截器和目标方法     * 若返回值为false,则不会继续调用后续的拦截器和目标方法     *     * 可以考虑做权限、日志、事务     */    @Override    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {        System.out.println("preHandle");        return true;    }    /**     * 调用目标方法之后,渲染视图之前被调用     *     * 可以对请求域中的属性或视图做出修改     *     */    @Override    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {        System.out.println("postHandle");    }    /**     * 渲染视图之后被调用     * 释放资源     */    @Override    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {        System.out.println("afterCompletion");    }}

在配置文件中注册:

其他配置:

2、多个拦截方法的执行顺序

 

也就是说preHandle是顺序执行,postHandle和afterCompletion是倒序执行的。

 

你可能感兴趣的文章
Spring 事务管理
查看>>
spring与mybatis的整合
查看>>
json数据交换和RESTful支持
查看>>
spring中的拦截器
查看>>
文件上传和下载
查看>>
Oracle指令,软件架构,
查看>>
oracle5:oracle的图形界面操作,分页查询,练习
查看>>
密码学基础之对称密码体制和公钥密码体制
查看>>
Spark Streaming进阶
查看>>
C++顺序表经典算法
查看>>
网络安全与管理知识点总结
查看>>
YARN的概述
查看>>
企业级ansible(一)-----ansible的基础知识了解
查看>>
有关IP及IP设定方式 ,改造虚拟机做路由
查看>>
路由器的搭建虚拟机上网及DHCP服务、dns解析
查看>>
linux系统的定时、延迟任务管理
查看>>
linux系统的磁盘管理方式
查看>>
管理lvm(Logical Volume Manager)
查看>>
yum源的配置及第三方软件仓库的管理、yum命令、rpm命令的使用
查看>>
linux系统的selinux管理
查看>>