Tomcat(这里以tomcat代表web服务器)和Servlet对比:
Tomcat可以理解成用于http平台的服务器,能接受http的请求并分析。
Servlet是java内部的一种规范,准确的说,他可以对参数进行分析,创建对象然后返回数据。
这两者对比,差不多就是Tomcat负责请求连接,断开连接,连接校验等操作,Servlet主要处理内部数据操作,注意这个对请求的操作实际上是最复杂的。
Tomcat和Netty对比:
tomcat是web服务器,主要针对http协议,netty支持各种协议,自己造协议都OK,当然netty也能封装http协议,所以也当然可以用netty当做web服务器。
Tomcat是基于netty吗?貌似不是,tomcat官网上是这么写的:
Tomcat 8.5 and 9.0 have completely dropped the BIO connector.
也就是说,老版本tomcat只有bio,后来加入了支持nio功能,8.5之后干脆直接放弃bio模式了。
Tomcat用java后来的NIO来优化自己,netty也是基于nio,不过用netty做一个http服务器似乎没那么轻松,所以netty更多领域在于走各种rpc协议,消息中间件,或者其他领域的网络通讯。
Servlet和Netty对比:
这两个似乎没什么可对比的,不过都是前身都是java,关系比较远
如果说把java当做元祖,Nio(这里指java的NIO)当做老爹,Tomcat和netty关系可以当做兄弟(Nio),tomcat跟nginx表兄关系(nginx跟nio没父子关系),那Servlet和netty可以当做堂兄关系(Servlet跟Nio没关系)。
————————————————
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。