01|持久的传奇:Tomcat的发展历程与框架演进
版本变化
- 深入了解
- 翻译
- 解释
- 总结
Tomcat作为一款轻量级的Java应用服务器,在业务开发中扮演着重要角色。文章从Tomcat的发展历程、程序内部结构、程序结构的演化等方面进行了详细介绍。Tomcat经历了多个版本的演化,从最初的简单Socket Server设计到引入NIO技术,不断优化性能和扩展功能。文章还介绍了Tomcat的程序内部结构,包括Server、Service、Connector、Container等组件,以及Tomcat的请求处理流程。此外,文章还探讨了Tomcat的生命周期管理和NIO技术的引入对Tomcat性能提升的影响。总的来说,Tomcat经历了多次演化,不断优化和扩展,成为了Java开发领域事实上的标准,具有持久的传奇。文章内容丰富,对Tomcat的发展历程和技术特点进行了深入解析,对读者了解Tomcat的发展历程和技术特点具有重要参考价值。 Tomcat获得了持久的成功,对业界影响深远。这里的关键就在于创始者James Duncan Davidson,他立意高远,眼界宏大,终成数十年以来的“名门正派”。同时,我们也看到了,顶级程序员也不是神仙,并不能一次性构建好一个Server,也需要不断尝试,不断接受真实世界的反馈并调整设计方案,NIO实现中的Acceptor和Poller池最终被废弃就是明证。文章内容丰富,对Tomcat的发展历程和技术特点进行了深入解析,对读者了解Tomcat的发展历程和技术特点具有重要参考价值。
《手把手带你写一个 MiniTomcat》,新⼈⾸单¥59
全部留言(6)
- 最新
- 精选
- peter请教老师几个问题: Q1:Tomcat为什么还支持JSP? 第01课中提到了Tomcat的发展历史,每个版本都支持JSP,包括最新的版本10。但JSP基本已经被废弃,没有人用JSP了。为什么还要支持JSP? Q2:Tomcat中Engine只有一个实例吗? Q3:一个context对应一个web应用,context下面有多个servlet。那么,context下面的servlet数量是怎么决定的? Q4:端口和service对应吗?即一个端口对应一个service? Q5:NIO实现中,为什么抛弃多个Acceptor和Poller的方案而采用单例的方案?
作者回复: Peter,高兴再见到你。你的问题涵盖了全课程,后面学了都有讲到。这里我只试着回答第一个问题,JSP确实基本被废弃了,最近些年,用单页面应用实现前后端分离。但是Tomcat服务器主要为了兼容历史,还是保留了对JSP的支持,次要的原因,JSP不能一概抛弃,任何一门技术都有适用范围,对于简单的小应用,JSP是很适合的。
2023-12-13归属地:北京23 - Geek_50a5cc根据8.0的Server.xml 来看和老师讲解 的,基本上就是分为 Server,Service,Connector,Egine,Host,(Listener,Realm,Value一些小组件),Context,Servlet(Wrapper);
作者回复: 赞
2023-12-14归属地:北京1 - HH🐷🐠🌝🌝看了本文更加期待老师的第五和第六部分, 不知道老师是否有计划,那部分也是重头戏。
作者回复: 在准备,已经给几个研究生试讲过了,还没整理。之后再商量公开。
2023-12-14归属地:广东21 - MartitoContainer: 用于管理 Servlet 和 JSP 的生命周期。 Engine: Engine 是最高级别的容器,代表整个 Tomcat 服务器。一个 Tomcat 实例可以包含多个 Engine,每个 Engine 通常对应一个虚拟主机host。 Host: Host 定义了一个虚拟主机,可以包含多个 Context。 Context: Context 表示一个 Web 应用程序,每个 Context 定义了特定 Web 应用的配置信息。 Servlet:处理业务逻辑和数据存储的组件,通过 HttpServletRequest 和 HttpServletResponse 与客户端进行交互。
编辑回复: 赞!重要的地方记下来
2023-12-13归属地:山东1 - 飞翔老师 希望把手写系列延续出去 之后还会手写什么中间件嘛
作者回复: 你的建议呢?
2023-12-28归属地:美国3 - 张翀请问本系列课程会讲解Tomcat的nio实现和Apr等实现吗
作者回复: 不会详细讲,后面会简单探讨一下。这一部分应单独成书。
2023-12-15归属地:四川