拦截器处理的是请求,因此也属于表现层的逻辑。
首先编写拦截器的示例,通过@Component注解声明交给Spring 容器管理。另外实现一个HandlerIntercept的接口,其中接口中实现了三个方法。
拦截器示例
preHandle是在Controller处理请求前面执行,该方法返回的是布尔值。因此当返回false是要取消这个请求了,不执行了。所以通常我们都是true.
实例化日志之后,在方法中添加日志的。
postHandle是在Controller执行以后执行的。postHandler的参数与preHandler的参数一样以外,还具有ModelAndView参数,因为该方法是在Controller之后执行,此时主要的逻辑请求处理已经 完成了,下一步主要模板引擎,给页面返回渲染的内容,因此在模板引擎中可能需要用到获取数据或封装数据。