spring拦截器

2017-11-15  本文已影响7人  icecrea

自定义拦截器

  1. 继承HandlerInterceptor
  2. xml文件里注册拦截器 <mvc:interceptors><bean class="">
  3. 配置拦截规则 可以正则 在<mvc:interceptor>里添加<mvc:mapping path="/xxx" />

具体方法:

多个拦截器,执行顺序如下图:


实现拦截器其他方式:
继承WebRequestInterceptor 注入springmvc框架方法不变 不同点是preHandle方法没有返回值

应用:

  1. 解决乱码问题。arg0.setCharacterEncoding("utf-8")
  2. 解决权限验证问题。if(arg0.getSession().getAttribute("user")==null){arg0.getRequestDispatcher("/login.jsp").forward(arg0,arg1); return false; }

拦截器和过滤器区别:
过滤器依赖于servlet容器,基于回调函数,过滤范围大
拦截器依赖框架容器,基于反射机制,只过滤请求

上一篇 下一篇

猜你喜欢

热点阅读