深入拆解 Tomcat & Jetty
李号双
eBay 技术主管
38890 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 45 讲
开篇词 (1讲)
深入拆解 Tomcat & Jetty
15
15
1.0x
00:00/00:00
登录|注册

11 | 总结:从Tomcat和Jetty中提炼组件化设计规范

骨架抽象类和模板模式的应用
观察者模式实现状态变化
父子层次关系
类加载器管理
反射机制动态创建组件
责任链模式处理请求
面向接口编程
灵活选择组件搭建Web容器
XML文件和代码配置组件
分享收获
疑问和讨论
组件化设计对需求变更的帮助
共同点和相似之处
遵循规范的组件化设计
定制化Web容器
组件的骨架抽象类和模板模式
组件的生命周期管理
组件的创建
组件化及可配置
适应变化的设计
考虑可扩展性
思考和总结的好习惯
信息获取机会平等
课后思考
本期精华
Tomcat和Jetty的组件化设计思想
敏捷、快速迭代和重构
互联网时代
组件化设计规范

该思维导图由 AI 生成,仅供参考

在当今的互联网时代,我们每个人获取信息的机会基本上都是平等的,但是为什么有些人对信息理解得更深,并且有自己独到的见解呢?我认为是因为他们养成了思考和总结的好习惯。当我们学习一门技术的时候,如果可以勤于思考、善于总结,可以帮助我们看到现象背后更本质的东西,让我们在成长之路上更快“脱颖而出”。
我们经常谈敏捷、快速迭代和重构,这些都是为了应对需求的快速变化,也因此我们在开始设计一个系统时就要考虑可扩展性。那究竟该怎样设计才能适应变化呢?或者要设计成什么样后面才能以最小的成本进行重构呢?今天我来总结一些 Tomcat 和 Jetty 组件化的设计思想,或许从中我们可以得到一些启发。

组件化及可配置

Tomcat 和 Jetty 的整体架构都是基于组件的,你可以通过 XML 文件或者代码的方式来配置这些组件,比如我们可以在 server.xml 配置 Tomcat 的连接器以及容器组件。相应的,你也可以在 jetty.xml 文件里组装 Jetty 的 Connector 组件,以及各种 Handler 组件。也就是说,Tomcat 和 Jetty 提供了一堆积木,怎么搭建这些积木由你来决定,你可以根据自己的需要灵活选择组件来搭建你的 Web 容器,并且也可以自定义组件,这样的设计为 Web 容器提供了深度可定制化。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

Tomcat和Jetty是基于组件化设计的Web容器,通过XML文件或代码配置组件,实现深度可定制化。其设计思想包括面向接口编程、责任链模式处理请求、动态创建组件、统一管理组件生命周期等。这种设计规范与Spring框架有相似之处,体现了Web开发中的共通之处。组件的具体实现遵循骨架抽象类和模板模式,这种设计规范在Java集合中也有应用。通过深入理解技术的本质,可以更好地掌握技术背后的精髓。在实际项目中,采用组件化设计可以帮助应对需求变化。文章内容涉及组件化设计的技术特点,对读者快速了解Tomcat和Jetty的设计思想具有指导意义。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《深入拆解 Tomcat & Jetty 》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(18)

  • 最新
  • 精选
  • 一道阳光
    这些扩展点被定义成一个个接口,只要你的 Bean 实现了这些接口,Spring 就会负责调用这些接口,老师,spring是怎么判断这些接口被实现了,就调用接口的方法。 还有就是好多扩展原理都是创建一个类去实现接口,然后会自动调用接口的方法,比如springMVC的lan jie (敏感词)器,这个原理是怎么实现的呢?组件是怎么判断这个接口被实现了,就可以被调用?

    作者回复: Java里有个isinstanceof.

    2019-06-04
    2
    9
  • 往事随风,顺其自然
    怎么自己编写一个jetty 服务器,像spring boot 内嵌式的

    作者回复: https://github.com/jetty-project/embedded-jetty-jsp 这里有例子

    2019-06-04
    9
  • Demter
    老师还要开别的专栏吗啊

    作者回复: 目前没打算,写专栏真的挺累的😄

    2019-08-14
    3
    6
  • breezeQian
    老师好,最近也在看 tomcat 的源码,对 tomcat 的 StandardService 类中的 executors 字段不太理解,这个东西有什么作用吗?

    作者回复: executor是线程池,加了s表示一个service有多个线程池,一个Connector一个。

    2019-06-04
    4
  • 张德
    springboot优化的时候 是在bootstrap.yml里面配置上文中的参数吗??李老师

    作者回复: 官方文档有介绍 https://docs.spring.io/spring-boot/docs/current/reference/html/howto-embedded-web-servers.html

    2019-06-21
    1
  • 君哥聊技术
    spring bean生命周期那张图,右下第二应该是postprocessAfterinitialization吧

    作者回复: 是的是的,我更正一下,谢谢指出。

    2019-06-04
    1
  • 欠债太多
    关于源代码的阅读,老师有什么好的建议或方法么?

    作者回复: 13篇会详细介绍

    2019-06-05
  • Royal
    您好,请问该栏目会涉及JAX-RS的内容么?我想请教下关于这块javax.ws.rs.container.AsyncResponse的内容

    作者回复: 有相关的部分,异步Servlet。

    2019-06-04
  • 王超
    非常赞,这样的总结让人醍醐灌顶,触类旁通!期待后续精彩分享
    2019-06-04
    35
  • 苏忆
    老师,您出源码分析的书吧,感觉讲解的是我见过源码分析最好的,把原理设计说的特别好。
    2019-09-26
    2
    24
收起评论
显示
设置
留言
18
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部