Spring HandlerInterceptor实现原理代码解析
程序员文章站
2022-08-07 22:19:20
handlerinterceptor 在这里看到这个handlerexecutionchain对interceptor的调用,在这里深入看一下。handlerexecutionchain 就是一个类,...
handlerinterceptor 在这里看到这个handlerexecutionchain对interceptor的调用,在这里深入看一下。
handlerexecutionchain 就是一个类,绑定了handler( 对应的controller) 和 interceptors , 所以作用就是对controller前后执行interceptors, 类似filter
几个问题:
1. interceptor调用位置?
1 2 3 对应调用 handlerinterceptor prehandle, posthandle, aftercompletion
先看第一行的:
进到对应的interceptor实现类,prehandler返回true, 如果返回false, 就会到dispatcherservlet就直接return了。
看第二行没有特别的:
由于它只重写了prehandle
所以走到它父类的posthandle了。方法是空的。
第三行和第二行一样不赘述了。
以上就是执行位置。
所以如果实现handlerinterceptor , prehandle 应该返回true, 具体要拦截的内容写在return true之前就行。 posthandle和aftercompletion 都是void方法,直接在里面写需要拦截的内容。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: 淘宝怎么领取菜鸟驿站签到红包?
推荐阅读