设计模式总结-责任链模式

设计模式总结-责任链模式

ID:32574538

大小:94.38 KB

页数:12页

时间:2019-02-12

设计模式总结-责任链模式_第1页
设计模式总结-责任链模式_第2页
设计模式总结-责任链模式_第3页
设计模式总结-责任链模式_第4页
设计模式总结-责任链模式_第5页
资源描述:

《设计模式总结-责任链模式》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、注:文档内容基本上来自于网上,并加上自己的理解而成。有的觉得网友总结得非常好,就完全照搬下来,供学习之用。然而,有的摘抄并没有加上原链接和出处,请谅解。FilterChain例子(本例子模拟回路式的一个链式处理,要求输入按1,2,3这样的处理,而输出则再次需要以3,2,1的方式处理):publicinterface IFilter {publicvoiddoFilter(Requestrequest,Responseresponse,FilterChainchain);}publicclass HTMLFilter

2、 implementsIFilter{@OverridepublicvoiddoFilter(Requestrequest,Responseresponse,FilterChainchain){StringrequestStr=request.getResquest().replaceAll("<","[").replaceAll(">","]")+"---HTMLFilter";request.setResquest(requestStr);chain.doFilter(request,response);Str

3、ingresponseStr=response.getResponse().replaceAll("\[","<").replaceAll("\]",">")+"----HTMLFilter";response.setResponse(responseStr);}}publicclass SensitiveFilter implementsIFilter{@OverridepublicvoiddoFilter(Requestrequest,Responseresponse,FilterChainchain){/

4、/TODOAuto-generatedmethodstubrequest.setResquest(request.getResquest().replaceAll("sex","six")+"---SensitiveFilter");chain.doFilter(request,response);response.setResponse(response.getResponse().replaceAll("six","seexxx"+"---SensitiveFilter"));}}publicclass Fil

5、terChain {publicListfilterChain=newArrayList();publicintcount=0;publicvoidaddFilter(IFilterfilter){filterChain.add(filter);}publicvoiddoFilter(Requestrequest,Responseresponse){if(count>=filterChain.size())return;filterChain.get(count++).doFil

6、ter(request,response,this);}}测试代码:publicstaticvoidmain(Stringargs[]){Stringstr="

,

.Thisisasexfilm!";Stringstr2="[Haa]Thisisasixfilm!";Requestrequest=newRequest();request.setResquest(str);Responseresponse=newResponse();response.setResponse(str2);FilterCh

7、ainchain=newFilterChain();chain.addFilter(newHTMLFilter());chain.addFilter(newSensitiveFilter());chain.doFilter(request,response);System.out.println("Requeststr:"+request.getResquest());System.out.println("Responsestr:"+response.getResponse());}输出:Requeststr:[

8、H1],[H2].Thisisasixfilm!---HTMLFilter---SensitiveFilterResponsestr:Thisisaseexxx---SensitiveFilterfilm!----HTMLFilter注:链式处理有时候也叫做拦截器处理,其原理差不多。注意上面代码中如何实现对response以处理request刚好相

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。