Jetty与Tomcat综合比较


        Tomcat和Jetty都是一种应用的比较广泛的Servlet引擎,但是相比较于Jetty,Tomcat更加稳定成熟,其市场霸主地位仍然难以撼动。但是两者各有优劣,现对其进行综合比较:


架构方面

     Jetty所有组件都是基于Handler来实现的,是一种面向Handler的架构。(Spring是一种面向Bean的架构,IBatis是一种面向Statement的架构)         

从设计模式角度来看:一、Handler采用责任链设计模式:HandlerCollection可以帮助开发者构建一个链,接口类ScopeHandler可以帮助开发者控制这个链的访问顺序;二、采用了观察者设计模式,对象只要继承了LifeCycle接口就可以被Jetty管理控制整个生命周期。

      Tomcat则是一种多级容器的构建模式,所有组件依附于其构建骨架;其核心就是容器设计,设计臃肿复杂,是为了更好扩展,但是将内部结构暴露给了外部使用者,学习难度变大,增加学习成本,其难度。

 

      Jetty讲的是做某件事的规范,即告诉你应该怎么做,如果做由开发者自己实现;

      Tomcat则是已经做了很多的工作,你要先理解这些工作,然后在此基础上做额外的工作。

 

性能方面

     Tomcat和Jetty的使用场景不尽相同,即对相同的使用场景,两者性能各有优劣。

     Jetty可以同时处理并保持大量的连接,适合生命周期长的;按需加载组件,使用NIO技术,处理I/O请求上更具优势。例如,淘宝Web旺旺使用的就是Jetty作为Servlet引擎。

     Tomcat适合处理少数频繁并且生命周期短的连接;使用BIO技术,处理静态资源时性能较差。


特性方面

    Jetty和Tomcat都支持标准的Servlet规范、JavaEE规范。

    只不过Tomcat更加成熟,支持的更加全面而已,集成了很多这些规范的特性;整体结构复杂,修改功能缓慢,不易扩展。

    Jetty轻便灵敏(因为其开发社区更加灵活,修改更加简单),整体结构简单易用,组件可替换,功能修改较快,容易扩展。

 

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值