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方法发送预检请求,根据服务端返回判断是否服务器支持跨域访问,如果支持,才带着真实数据进行正常请求。

 

posted @ 2019-11-13 14:01  walktime  阅读(88)  评论(0)    收藏  举报