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

东莞网站推广案例政务公开网站建设重点

东莞网站推广案例,政务公开网站建设重点,厦门企业网站推广,网上做家教哪个网站责任链#xff08;Chain of Resposibility#xff09; 模式 概念 责任链#xff08;chain of Resposibility#xff09; 模式#xff1a;为了避免请求发送者与多个请求处理者耦合在一起#xff0c;于是将所有请求的处理者 通过前一对象记住其下一个对象的引用而连成一条…责任链Chain of Resposibility 模式 概念 责任链chain of Resposibility 模式为了避免请求发送者与多个请求处理者耦合在一起于是将所有请求的处理者 通过前一对象记住其下一个对象的引用而连成一条链当有请求发生时可将请求沿着这条链传递直到有对象处理它位置。属于对象行为型模式。 抽象处理者Handler角色定义一个处理请求的接口包含抽象处理方法和一个后继连接。 具体处理者Concrete Handler角色实现抽象处理者的处理方法判断能否处理本次请求如果可以处理请求则处理否则将请求转给他的后继者。 客户类Client角色创建处理链并向链头的具体处理者对象提交请求他不关心处理细节和请求的传递过程。 代码 需求1a1 - a2 - a3 实现先a1处理完交给a2a2处理完再交给a3的逻辑即 a1 - a2 - a3 public class Teacher {private String name;public Teacher(String name) {this.name name;}// 下一个处理的老师1、链条的引用点private Teacher next;public Teacher getNext() {return next;}public void setNext(Teacher next) {this.next next;}void handlerRequest() {System.out.println(this 正在处理。。。。。。。。);// 2、下一个继续if (next ! null) {next.handlerRequest();}}Overridepublic String toString() {return Teacher{ name name \ };} } public class MainTest {public static void main(String[] args) {Teacher a1 new Teacher(a1);Teacher a2 new Teacher(a2);Teacher a3 new Teacher(a3);// 3、构造链条// a1-a2-a2a1.setNext(a2);a2.setNext(a3);a1.handlerRequest();} }测试结果 Teacher{namea1}正在处理。。。。。。。。 Teacher{namea2}正在处理。。。。。。。。 Teacher{namea3}正在处理。。。。。。。。需求21-2-3-本人-3-2-1 这个也就是我们学习过的Filter了 代码实现 ① Filter 接口 public interface Filter {void doFilter(Request request,Response response,FilterChain chain); }Data public class Request {// 请求内容String msg;public Request(String msg) {this.msg msg;} } Data public class Response {// 响应内容private String content;public Response(String content) {this.content content;} } ② Filter 的三个实现类 public class HttpFilter implements Filter {Overridepublic void doFilter(Request request, Response response, FilterChain chain) {// 第一个filter的功能request.msg ;System.out.println(HttpFilter ... doFilter之前);// 放行chain.doFilter(request, response, chain);System.out.println(HttpFilter ... doFilter之后);} }public class CharacterFilter implements Filter {Overridepublic void doFilter(Request request, Response response, FilterChain chain) {// 功能request.msg ;System.out.println(CharacterFilter ... doFilter之前);// 放行chain.doFilter(request, response, chain);System.out.println(CharacterFilter ... doFilter之后);} }public class EncodingFilter implements Filter {Overridepublic void doFilter(Request request, Response response, FilterChain chain) {// 功能request.msg oooo;System.out.println(EncodingFilter ... doFilter之前);// 放行chain.doFilter(request, response, chain);System.out.println(EncodingFilter ... doFilter之后);} }③ 我们的目标方法 public class My {void hello() {System.out.println(调用my.hello()方法);} }![在这里插入图片描述](https://img-blog.csdnimg.cn/7b173906028e45c7926d7b944096d929.png)④ 维护链条java /*** 靠他维护链条* handlerExecutionChain** author zhuicat* since 2023/8/13 8:19*/ public class FilterChain implements Filter {// 游标记录当前执行的步骤int cursor;// Filter 的链ListFilter filterChain new ArrayList();// 最终要执行的目标方法My target;// 添加 filter 方法void addFilter(Filter filter) {filterChain.add(filter);}Overridepublic void doFilter(Request request, Response response, FilterChain chain) {// 执行第一个 filter 一次往下// 游标小于总数量filter一直往下获取执行if (cursor filterChain.size()) {Filter filter filterChain.get(cursor);cursor;// 执行 filterfilter.doFilter(request, response, chain);} else {// filter执行完了需要执行目标方法了target.hello();}}public My getTarget() {return target;}public void setTarget(My target) {this.target target;} } ⑤ 主方法 public class MainTest {public static void main(String[] args) {FilterChain chain new FilterChain();// web.xmlHttpFilter httpFilter new HttpFilter();CharacterFilter characterFilter new CharacterFilter();EncodingFilter encodingFilter new EncodingFilter();chain.addFilter(httpFilter);chain.addFilter(characterFilter);chain.addFilter(encodingFilter);chain.setTarget(new My());// filter 如何链式执行chain.doFilter(new Request(hello,world), new Response(dddddddddddddddddd), chain);} }⑥ 执行结果 HttpFilter ... doFilter之前 CharacterFilter ... doFilter之前 EncodingFilter ... doFilter之前 调用my.hello()方法 EncodingFilter ... doFilter之后 CharacterFilter ... doFilter之后 HttpFilter ... doFilter之后 完成上述需求
http://www.pierceye.com/news/383970/

相关文章:

  • 网站建设的公司哪家是上市公司专业外贸网站制作
  • 建站公司杭州免费投票网站制作
  • 网站优化公司效果网络营销毕业后做什么工作
  • 移动互联网的应用论文可以优化网络的软件
  • 网站建设软件哪个最好郑州广告设计与制作公司
  • 浦口区网站建设售后保障如何维护网站
  • 企业网站建设 安全合肥做网站加盟
  • 水果网络营销策划方案电商网站怎样优化
  • 免费数据源网站wordpress主页面
  • 做网站百度收费吗青岛冠通市政建设有限公司网站
  • 菜鸟建网站福建福州罗源建设局网站
  • 企业内网网站制作自己的网站多少钱
  • 关于公司网站建设的申请wordpress站群功能
  • 外贸做企业什么网站珠海的网站建设
  • 做网站教程百度云外贸soho建站公司
  • 上海市网站建设网站增加导航栏
  • 电子政务网站模版网站制作排名优化
  • 大足网站建设wordpress本地很慢
  • 企业门户网站模板html上线同安区建设局网站
  • 有些人做网站不用钱的,对吗?手机网站建立教程
  • 自适应网站主要用什么做株洲网站设计公司
  • 漂亮大气的装潢室内设计网站模板 单页式html5网页模板包金山网页设计
  • 沈阳养老保险网站手机网站建设ppt
  • 网站培训视频宝安新闻
  • 上海外贸建站推广公司服务专业的网站建设公司
  • 网站上传不了wordpress女孩学电子商务专业好就业吗
  • 石家庄网站开发工程师招聘网蜘蛛互联网站建设
  • 企业网站营销策划衡水企业做网站费用
  • 邯郸网站建设渠道通化网站建设公司
  • 做vip电影网站黑龙江省中国建设银行网站首页