Jetty 是一个开源的servlet容器,它为基于Java的web内容,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接。
和Tomcat的比较:
- Jetty更轻量级。这是相对Tomcat而言的。
由于Tomcat除了遵循Java Servlet规范之外,自身还扩展了大量JEE特性以满足企业级应用的需求,所以Tomcat是较重量级的,而且配置较Jetty亦复杂许多。但对于大量普通互联网应用而言,并不需要用到Tomcat其他高级特性,所以在这种情况下,使用Tomcat是很浪费资源的。这种劣势放在分布式环境下,更是明显。换成Jetty,每个应用服务器省下那几兆内存,对于大的分布式环境则是节省大量资源。而且,Jetty的轻量级也使其在处理高并发细粒度请求的场景下显得更快速高效。 - Jetty更灵活
体现在其可插拔性和可扩展性,更易于开发者对Jetty本身进行二次开发,定制一个适合自身需求的Web Server。 相比之下,重量级的Tomcat原本便支持过多特性,要对其瘦身的成本远大于丰富Jetty的成本。用自己的理解,即增肥容易减肥难。 - 然而,当支持大规模企业级应用时,Jetty也许便需要扩展,在这场景下Tomcat便是更优的。
更新日志
- 1235 DNS lookup in newSSLEngine(InetSocketAddress address)
- 1348 Add a BOM artifact
- 1404 Jetty 9.4.2 does not support constructors with varargs in XML config files
- 1448 StackOverflowError when using URLStreamHandlerFactory in WebAppClassloader
- 1475 SIOOBE in ContextHandler startup
- 1480 Expand URIUtil.canonicalPath() testing
- 1481 Add convenient method to add user to Realm
- 1486 redirect to welcome file broken for sub directory
- 1487 add decoded paths
- 1492 Unable to override logback.version
- 1493 Response.sendError should preserve cookies
- 1494 Module resolution ignores alternate providers where a .mod file of the same name exists
- 1500 HttpServletResponse.sendError() should commit and close
- 1502 WebSocket endpoints cannot be mapped when the session id is url encoded
- 1504 Improve defaults for HTTP/2 flow control
- 1505 jetty.base.uri and jetty.home.uri
- 1506 Make HttpChannels recycling configurable for HTTP/2
- 1507 Negative delay Timer.schedule exception due to mismatched local and _logTimeZone values
- 1508 Update to gcloud datastore 1.0.0
- 1510 Look for SessionHandlers instead of ContextHandlers in DefaultSessionIdManager
- Add a BOM artifact
下载
本站原创,转载时保留以下信息:
本文转自:深度开源(open-open.com)
原文地址:http://www.open-open.com/news/view/4af1cf05