当前位置: 首页 > wzjs >正文

GMC中网站建设对订单有影响吗图片优化是什么意思

GMC中网站建设对订单有影响吗,图片优化是什么意思,网站seo怎样做,自己制作logo免费生成器分析: 过滤器链的调用过程 A过滤器调用chain.doFilter此时会进入到下一个过滤器 B过滤器继续调用chain.doFilter会继续进入下一个过滤器 当所有过滤器都执行完成后,会进入目标方法。 既然chain.doFilter能进入下一个过滤器,那本质上就是方法的…

分析:
过滤器链的调用过程
A过滤器调用chain.doFilter此时会进入到下一个过滤器
B过滤器继续调用chain.doFilter会继续进入下一个过滤器
当所有过滤器都执行完成后,会进入目标方法。
既然chain.doFilter能进入下一个过滤器,那本质上就是方法的调用压栈和弹栈,一个方法的调用入口会执行完成所有的方法栈后才完成。
所以chain内肯定知道下一个filter是哪个,同时chain肯定保存了最终的目标执行对象。
基于以上分析,chain内部维护了一个过滤器集合,并知道下一个过滤器是哪个。

运行结果:首先,任何编程语言在调用一个方法,都会层层调用多层方法栈。ABCDE....其实,责任链设计模式无非就是通过代码解耦,将复杂的逻辑线性化。将一个一个的调用串行化。FilterChain将责任链的执行权交给每个过滤器,由过滤器决定是否执行下一个过滤器。
@Data
@Builder
public class HttpServletRequest {private String method;private String uri;}
public class TargetController {public void target() {System.out.println("执行了最终的目标方法");}}
public interface Filter {void doFilter(FilterChain filterChain, HttpServletRequest request) throws Exception;}
public class AuthFilter implements Filter {@Overridepublic void doFilter(FilterChain filterChain, HttpServletRequest request) throws Exception {System.out.println("auth filter before");filterChain.doFilter(request);System.out.println("auth filter after");}}
public class LogFilter  implements Filter{@Overridepublic void doFilter(FilterChain filterChain, HttpServletRequest request) throws Exception {System.out.println("log filter before ");filterChain.doFilter(request);System.out.println("log filter after ");}
}
@Data
@Builder
public class FilterChain {private Integer index;private List<Filter> filters;//执行最终目标方法的对象private Object target;//执行最终的目标方法private Method method;//执行最终目标方法的private Object[] args;public void doFilter(HttpServletRequest request) throws Exception {//获取当前要执行的过滤器if (index == null){index = 0;}if (filters == null || filters.size() <= 0){return;}if (index >= filters.size()){//执行最终的目标方法method.invoke(target,args);return;}//获取过滤器Filter filter = filters.get(index++);filter.doFilter(this,request);}}
public class Test {public static void main(String[] args) throws Exception {FilterChain filterChain = FilterChain.builder().filters(Arrays.asList(new AuthFilter(), new LogFilter())).index(0).target(new TargetController()).method(TargetController.class.getMethod("target")).args(null).build();filterChain.doFilter(new HttpServletRequest("GET","/test"));}}
http://www.dtcms.com/wzjs/64700.html

相关文章:

  • web网站开发开题报告seo软文推广
  • wordpress 仪表盘自定义网站推广优化网址
  • 餐饮企业网站建设方案书电商运营方案计划书
  • 做暧网站免费搜索引擎营销的手段包括
  • 东营网站建设如何引流推广产品
  • 数字媒体艺术与ui设计相关吗百度seo优化软件
  • 广州城市建设规划局网站手机上如何制作自己的网站
  • 启东网站建设公司百度收录比较好的网站
  • 迈肯奇迹做网站网文网站排名
  • java做网站和php网站排名优化软件有哪些
  • 黄页哪个网站好现在做推广的新渠道有哪些
  • 建设网站的相关费用百度竞价排名规则及费用
  • 浦东新区中国建设银行官网站栾城seo整站排名
  • 网站优化排名易下拉稳定合肥网站制作公司
  • 百度推广管理平台登录桔子seo工具
  • 网站建设的学习方法南平网站seo
  • 动漫网站建设毕业设计百度网盘app官网
  • 定制跟模板网站有什么不一样网站运营工作的基本内容
  • 专做mad的网站专业拓客团队怎么收费
  • 做网站文字居中代码百度推广一个点击多少钱
  • 日本免费云服务器地址seo系统
  • 舆情分析是个什么行业嘉峪关seo
  • dw怎么做单页网站做网站优化推广
  • 做h5页面的网站有哪些百度官方网站首页
  • 做外链权重高的女性网站sem推广和seo的区别
  • wordpress主题 破解主题手机seo快速排名
  • 聚名网买卖域名合法吗宁波seo在线优化
  • 好看的网站颜色杭州疫情最新消息
  • 网站开发工具评价seo职位
  • 网站制作复杂吗常见的网站推广方法