jetty和tomcat的区别

Z, ZLW 332

jetty和tomcat的区别有:1、含义不同;2、架构不同;3、量级不同;4、灵活性不同;5、对Servlet规范的支持不同。其中,含义不同指Jetty 是一个开源的servlet容器,它为基于Java的web容器,例如servlet提供运行环境,Tomcat是是Apache 软件基金会的Jakarta 项目中的一个核心项目。

1、含义不同

jetty:Jetty 是一个开源的servlet容器,它为基于Java的web容器,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接。

tomcat:Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

2、架构不同

jetty:Jetty的架构是基于Handler来实现的,主要的扩展功能都可以用Handler来实现,扩展简单。

tomcat:Tomcat的架构是基于容器设计的,进行扩展是需要了解Tomcat的整体设计结构,不易扩展。

3、量级不同

jetty:Jetty更轻量级,这是相对Tomcat而言的。对于大量普通互联网应用而言,使用Jetty能为每个应用服务器省下那几兆内存,对于大的分布式环境则是节省大量资源。而且,Jetty的轻量级也使其在处理高并发细粒度请求的场景下显得更快速高效。

tomcat:由于Tomcat除了遵循Java Servlet规范之外,自身还扩展了大量JEE特性以满足企业级应用的需求,所以Tomcat是较重量级的,而且配置较Jetty亦复杂许多。但对于大量普通互联网应用而言,并不需要用到Tomcat其他高级特性,所以在这种情况下,使用Tomcat是很浪费资源的。这种劣势放在分布式环境下,更是明显。

4、灵活性不同

jetty:Jetty更灵活,体现在其可插拔性和可扩展性,更易于开发者对Jetty本身进行二次开发,定制一个适合自身需求的Web Server。

tomcat:重量级的Tomcat原本便支持过多特性,要对其瘦身的成本远大于丰富Jetty的成本。即增肥容易减肥难。

5、对Servlet规范的支持不同

jetty:Jetty的应变更加快速,一方面是因为Jetty的开发社区更加活跃,另一方面也是因为Jetty的修改更加简单,他只要把相应的组件替换就好了。所以Jetty对最新的Servlet规范的支持要比Tomcat早。

tomcat:作为一个标准的Servlet引擎,他们都支持标准的Servlet规范,还有Java EE的规范也都支持,由于Tomcat使用得更加广泛,他对这些支持得更加全面一些,有很多特性Tomcat都直接集成进来了。Tomcat在整体结构上要复杂得多,修改功能比较缓慢,所以Tomcat对最新的Servlet规范的支持总是要比人们预期的晚。

回复

我来回复
  • 暂无回复内容

站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部