快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

Tomcat模板方法模式怎么实现

本篇内容介绍了“Tomcat模板方法模式怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

10多年的鲁山网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整鲁山建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“鲁山网站设计”,“鲁山网站推广”以来,每个客户项目都认真落实执行。

说到模板方法模式,会在Tomcat以及许多面向对象的代码中,大量使用到。

这个名称已经比较形象了。

就像责任链的核心是Chain对象的传递一样,这个模式的核心是模板方法

所谓模板,就是提供了一种默认的样式。像成语描述“一模一样”,这里的模,是指模子,通过这个来做出多个一样的产品,而我们代码里的模板方法也是提供一种默认的执行逻辑,但是,至于逻辑中使用到的方法的细节,可以提供给子类来详细实现。

例如,下面的代码,是Tomcat中在创建请求处理器的时候的方式:

protected abstract P createProcessor();
 

 
protected abstract void initSsl(SocketWrapper socket,
       Processor processor);
 

 
public SocketState process(SocketWrapper wrapper,
       SocketStatus status) {
   Processor processor = connections.get(socket);
   if (status == SocketStatus.DISCONNECT && processor == null) {
       // Nothing to do. Endpoint requested a close and there is no
       // longer a processor associated with this socket.
       return SocketState.CLOSED;
   }

   try {
       if (processor == null) {
           processor = recycledProcessors.pop();
       }
       if (processor == null) {
           processor = createProcessor();
       }
 
initSsl(wrapper, processor);

我们看到,整个process方法是完整的处理逻辑,但在这个方法内部,会在判断processor为空的时候创建Processor,如果使用了ssl,也会初始化之。而重点就在这里,此处的createProcessor方法和initSsl方法都声明为abstract,留给子类实现。

由于Tomcat提供多种类型的Connector进行请求处理,例如有阻塞方式的,非阻塞方式的,支持AJP协议的等等,使用模板方法模式,很好的满足了多种Connector的不同创建逻辑。

例如下面的代码,分别是HttpNio和Ajp这两种Connector的Processor创建:

public Http11NioProcessor createProcessor() {
   Http11NioProcessor processor = new Http11NioProcessor(...);
   proto.configureProcessor(processor);
   register(processor);
   return processor;
}
 
protected AjpProcessor createProcessor() {
 
AjpProcessor processor = new AjpProcessor(...);
   proto.configureProcessor(processor);
   register(processor);
   return processor;
}

initSsl方法也是如此。

在Tomcat的源码中,还包含大量使用该模式的地方,阅读时,你不经意间就会发现它的存在。

“Tomcat模板方法模式怎么实现”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


当前名称:Tomcat模板方法模式怎么实现
本文路径:http://6mz.cn/article/peesjh.html

免费获取网站建设与品牌策划方案报价

*主要业务范围包括:高端网站建设, 集团网站建设(网站建设网站制作)找网站建设公司就上快上网。
提交需求

    联系我们

    028-86922220
  • 手机:13518219792
  • 地址:成都市太升南路288号锦天国际A幢1002号
  • 24小时服务热线:400-028-6601

    网站建设服务

  • 网页设计
  • 网站制作
  • 网站开发

    网站推广服务

  • 营销网站建设
  • 百度快速排名
  • 整站网站推广

    网站运维服务

  • 基础维护
  • 网站改版
  • 网站维护

    FOLLOW US

  • 微信二维码

    微信二维码

Copyright © 2022 成都快上网科技有限公司 成都网站建设公司-选网站建设公司快上网!国内专业的网站制作公司!
All Rights Reserved 版权所有 蜀ICP备19037934号-11