Jetty v9.4.4.v20170414 发布,一个servlet容器
jopen 7年前
<p style="text-align: center;"><strong><img alt="" src="https://simg.open-open.com/show/c53c385d7d99fc5b4c8840b305dfc43b.png" /></strong></p> <p> </p> <p>Jetty 是一个开源的servlet容器,它为基于Java的web内容,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接。</p> <p>和Tomcat的比较:</p> <ol> <li>Jetty更轻量级。这是相对Tomcat而言的。<br /> 由于Tomcat除了遵循Java Servlet规范之外,自身还扩展了大量JEE特性以满足企业级应用的需求,所以Tomcat是较重量级的,而且配置较Jetty亦复杂许多。但对于大量普通互联网应用而言,并不需要用到Tomcat其他高级特性,所以在这种情况下,使用Tomcat是很浪费资源的。这种劣势放在分布式环境下,更是明显。换成Jetty,每个应用服务器省下那几兆内存,对于大的分布式环境则是节省大量资源。而且,Jetty的轻量级也使其在处理高并发细粒度请求的场景下显得更快速高效。</li> <li>Jetty更灵活<br /> 体现在其可插拔性和可扩展性,更易于开发者对Jetty本身进行二次开发,定制一个适合自身需求的Web Server。 相比之下,重量级的Tomcat原本便支持过多特性,要对其瘦身的成本远大于丰富Jetty的成本。用自己的理解,即增肥容易减肥难。</li> <li>然而,当支持大规模企业级应用时,Jetty也许便需要扩展,在这场景下Tomcat便是更优的。</li> </ol> <h2>更新日志</h2> <ul> <li>612 Support HTTP Trailer</li> <li>877 Programmatic servlet mappings cannot override mappings from webdefault.xml using quickstart</li> <li>1201 X-Forwarded-For incorrectly set in jetty-http-forwarded.xml</li> <li>1334 Dispatcher.commitResponse() failure is unreported</li> <li>1386 Optimise session writes</li> <li>1411 Use short-circuit operator in websocket Frame</li> <li>1417 Improve classloader dumping</li> <li>1418 setWriteListener causes race</li> <li>1423 Update to gcloud datastore 0.10.0-beta</li> <li>1433 Wrong status message for code 417</li> <li>1434 Improve properties in jetty-gzip.xml</li> <li>1435 Apply setCharacterEncoding to static content without an assumed encoding</li> <li>1436 NullPointerException when calling changeSessionId</li> <li>1439 Allow UNC paths to function as Resource bases</li> <li>1440 Improve lock contention for low resources scheduling strategy</li> <li>1444 Deprecate Continuations</li> <li>1448 StackOverflowError when using URLStreamHandlerFactory in WebAppClassloader</li> <li>1449 Unable to find the JVM Lib directory in WebAppContext</li> <li>1450 JMX does not export session statistics</li> <li>1452 Add tests for [want|need]ClientAuth</li> <li>1454 CachedContentFactory locks filesystem after first read of file</li> <li>1456 Error dispatch race with async write</li> <li>1463 SSL Renegotiate limit</li> <li>1466 Only use ServletContainerInitializers from server path for web.xml < 3.0</li> <li>1467 Change default for WebAppContext.isConfiguredDiscovered to false</li> <li>1469 IllegalStateException in RolloverFileOutputStream</li> <li>1472 Broken *.gz symlinks cause NPE in DefaultServlet.</li> <li>1475 SIOOBE in ContextHandler startup</li> <li>Apply setCharacterEncoding to static content without an assumed encoding</li> </ul> <h2>下载</h2> <ul> <li><a href="/misc/goto?guid=4959006059341403795" rel="nofollow"><strong>Source code</strong> (zip)</a></li> <li><a href="/misc/goto?guid=4959006059461716062" rel="nofollow"><strong>Source code</strong> (tar.gz)</a></li> </ul> <p>本站原创,转载时保留以下信息:<br /> 本文转自:深度开源(open-open.com)<br /> 原文地址:<a href="http://www.open-open.com/news/view/281899f4">http://www.open-open.com/news/view/281899f4</a></p>