• 过滤器、拦截器应用场景、区别和使用


    应用场景

    过滤器的应用:字符编码转换,敏感词过滤、登陆权限验证、资源访问权限等
    拦截器的应用:AOP、需要有一些业务逻辑(需要注入Bean等)

    区别

    1. 过滤器配置再web.xml中、拦截器配置springmvc的配置文件中(即在DispatcherServlet的contextConfigLocation属性指定文件所在位置,默认加载的是:/WEB-INF/servlet名称-servlet.xml(springmvc-servlet.xml))
    2. 过滤器基于函数回调、拦截器基于反射
    3. 过滤器几乎对所有请求起作用,拦截器只对目标执行方法(action方法)起作用
    4. 过滤器:对请求进行预处理、再交给Servlet处理并且生成响应,最后Filter再对服务器响应进行后处理
      拦截器:可以再方法执行前调用(preHandle)、方法执行后(postHandle)、视图页面渲染后(afterCompletion)

    执行流程

    过滤器初始化-》(客户端请求过来)dofilter处理请求-》到达dispatchServlet,在目标方法执行前preHandle-》(放行,返回true)执行目标方法-》(正常返回,异常则不执行)postHandle-》(无论目标方法是否执行或者执行是否出现异常,都会执行)afterCompletion-》dofilter处理响应-》客户端加载页面

  • 相关阅读:
    SpringIoC和DI注解开发
    SpringIoC&DI
    Linux基础(二)
    Linux基础(一)
    代码自动生成
    luaScript目标点限流工具类示例
    SpringMVC请求连接匹配器-工具类
    解决commons.mail.HtmlEmail附件中文名乱码问题
    HtmlToPdfUtils [请参照码云上 https://gitee.com/bbevis/html-to-pdf 最新版]
    ThreadLocalUtils
  • 原文地址:https://www.cnblogs.com/jklixin/p/13769927.html
Copyright © 2020-2023  润新知