1.自定义拦截器
①创建拦截器类实现HandlerInterceptor接口
class MyInterceptor:HandlerInterceptor {
// 在目标方法执行之前 执行
override fun preHandle(request: HttpServletRequest, response: HttpServletResponse, handler: Any): Boolean {
println("preHandle...")
return true // false:拦截 true:放行
}
// 在目标方法执行之后 视图返回之前 执行
override fun postHandle(
request: HttpServletRequest,
response: HttpServletResponse,
handler: Any,
modelAndView: ModelAndView?
) {
println("postHandle...")
}
// 在整个流程都执行完毕后 执行
override fun afterCompletion(
request: HttpServletRequest,
response: HttpServletResponse,
handler: Any,
ex: Exception?
) {
println("afterCompletion...")
}
}
②配置拦截器
在spring-mvc.xml中进行配置
<!-- 配置拦截器 -->
<mvc:interceptors>
<mvc:interceptor>
<!-- 对那些资源进行拦截操作 -->
<mvc:mapping path="/**"/>
<bean class="com.lining.interceptor.MyInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>
③测试拦截器效果