美文网首页
spring拦截器

spring拦截器

作者: icecrea | 来源:发表于2017-11-15 12:48 被阅读7次

    自定义拦截器

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

    具体方法:

    • boolean preHandle() 返回值:是否需要拦截请求 false请求会被终止 Object arg2表示被拦截的请求的目标对象
    • postHandle() 里面modelandview参数 可以更改c层传回视图层的数据modelandview

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


    实现拦截器其他方式:
    继承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容器,基于回调函数,过滤范围大
    拦截器依赖框架容器,基于反射机制,只过滤请求

    相关文章

      网友评论

          本文标题:spring拦截器

          本文链接:https://www.haomeiwen.com/subject/ccmcvxtx.html