责任链模式如何在Java项目中实现-创新互联
这期内容当中小编将会给大家带来有关责任链模式如何在Java项目中实现,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于做网站、网站建设、祁门网络推广、微信小程序定制开发、祁门网络营销、祁门企业策划、祁门品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;成都创新互联公司为所有大学生创业者提供祁门建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com责任链模式
责任链模式的定义:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系, 将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。这里就不再过多的介绍什么是责任链模式,主要来说说java中如何编写。主要从下面3个框架中的代码中介绍。
- servlet中的filter
- dubbo中的filter
- mybatis中的plugin 这3个框架在实现责任链方式不尽相同。
servlet中的Filter
servlet中分别定义了一个 Filter和FilterChain的接口,核心代码如下:
public final class ApplicationFilterChain implements FilterChain { private int pos = 0; //当前执行filter的offset private int n; //当前filter的数量 private ApplicationFilterConfig[] filters; //filter配置类,通过getFilter()方法获取Filter private Servlet servlet @Override public void doFilter(ServletRequest request, ServletResponse response) { if (pos < n) { ApplicationFilterConfig filterConfig = filters[pos++]; Filter filter = filterConfig.getFilter(); filter.doFilter(request, response, this); } else { // filter都处理完毕后,执行servlet servlet.service(request, response); } } }
本文名称:责任链模式如何在Java项目中实现-创新互联
网站地址:http://myzitong.com/article/deggpo.html