实现拦截器的前置 postHandle 和后置处理器 如果postHandler抛了异常。threadlocal的clear方法就无法实现, 所以可以放在后指处理器里面使用
从代码可以看出,拦截器接口有三个方法,分别的作用是:
preHandle方法:叫做预处理方法,本方法在控制器方法(MyController的方法)之前执 行,用户的请求最先到达此方法,在这个方法中可以获取请求的信息,验证请求是否符合要求。以验证用户是否登录,验证用户是否有权限访问某个链接地址(url)。如果返回true则放行,返回false则拦截。
postHandle方法:叫做后处理方法。在controller中的方法之后执行的。能够获取到处理器方法的返回值 mv,可以修改mv中的数据和视图。可以影响到最后的执行结果。主要是对原来的执行结果做二次修正
afterCompletion方法:最后执行的方法,在页面渲染之后执行。在请求处理完成后执行的,框架中规定是当你的视图处理完成后,对视图进行了forword。就任务请求处理完成。一般做资源回收工作的,程序请求过程中创建了一些对象。在这里可以删除,吧占用的内存回收
标签:拦截器,请求,视图,更新,过滤器,执行,方法,处理器 From: https://www.cnblogs.com/ZhangZiXue/p/17498776.html