Jetty 9.2.18.v20160721 发布,一个servlet容器

jopen 8年前
   <p style="text-align: center;"><img alt="" src="https://simg.open-open.com/show/c53c385d7d99fc5b4c8840b305dfc43b.png" /></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>Incorrect @ServerEndpoint Encoder/Decoder lifecycle</li>     <li>LDAPLoginModule should disallow blank username and password</li>     <li>Jetty 9.3 ServletContext.getResourceAsStream("/") returns an unusable  stream</li>     <li>JsrExtension is missing hashCode() and equals()</li>     <li>Filter problematic headers from CGI and FastCGIProxy</li>    </ul>    <h2>下载</h2>    <ul>     <li><a href="/misc/goto?guid=4958992363771648692" rel="nofollow"><strong>Source code</strong> (zip)</a></li>     <li><a href="/misc/goto?guid=4958992363889429219" rel="nofollow"><strong>Source code</strong> (tar.gz)</a></li>    </ul>    <p> </p>