Spring 拦截器
注意以下几点:
1. 拦截器是为了预处理 controller的请求和回应。
2. 拦截器基于spring框架,实现HandlerInterceptor接口,prehandle(调用controller之前);posthandle(刚刚调用完controller);afterhandle(视图渲染完毕,即返回之前调用一下)。
3. 拦截器在spring的配置文件中配置,格式如下:
<mvc:interceptors>
<!-- 日志拦截器 -->
<mvc:interceptor>
<mvc:mapping path="/**" />
<mvc:exclude-mapping path="/static/**" />
<bean class="拦截器java代码路径" />
</mvc:interceptor>
</mvc:interceptors>
4. 拦截器与过滤器(dofilter)的区别,过滤器基于servlet容器;过滤器先被调用;过滤器可过滤所有要访问的资源(动态和静态)
备注:
1. Spring + CSRF ,可再拦截器中实现过滤。针对跨站攻击,浏览器端会有preflight请求(预检请求),首先浏览器不会主动限制跨域访问,所有为了安全,在发送非简单请求时,浏览器使用OPTION方法发送预检请求,根据服务端返回判断是否服务器支持跨域访问,如果支持,才带着真实数据进行正常请求。


浙公网安备 33010602011771号