课程名称:Java工程师2022版
课程章节:SpringMVC拦截器
课程内容:
①关于拦截器:拦截器(Interceptor)用于对URL请求进行前置/后置过滤,首先Maven依赖servlet-api,然后实现HandlerInterceptor接口最后在applicationContext配置过滤地址
②SpringMVC处理流程:客户端发送请求,请求到中央处理器,中央处理器收到请求调用处理器映射器,然后根据处理器映射器返回信息,请求具体的处理器
课程收获:
关于拦截器在SpringMVC的处理流程:
1.浏览器发送请求
2.中央处理器DispatcherServlet查找Handler
3.Handler返回执行链给DispatcherServlet
4.中央处理器向处理器适配器(HandlerAdapter)发送请求执行
5.HandlerAdapter执行Interceptor或Controller
6.Controller返回ModelAndView至HandlerAdapter至DispatcherServlet
7.DispatcherServlet选择视图解析器(ViewResolver)
8.ViewResolver返回View给中央处理器,中央处理器通过渲染到视图(View)
HandlerInterceptor:需要实现三个方法,如下所示:
preHandle():前置执行处理
postHandle():目标资源已被Spring MVC框架处理
afterCompletion():响应文本已经产生
Interceptor使用技巧:
用于资源的过滤与排除,多Interceptor安照配置的顺序进行执行,preHandle()方法返回值决定是否按照预期继续执行
Interceptor与Filter用途相似,但实现方式不同、执行顺序、使用范围等是不同的