Jetty -9.3.15.v20161220发布,一个servlet容器
jopen 8年前
<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>240 Missing content for multipart request after upgrade to Jetty > 9.2.7</li> <li>905 Jetty terminates SSL connections too early with Connection: close</li> <li>1020 Java Util Logging properties in wrong location</li> <li>1050 Add multiple FilterHolder to a ServletContextHandler may cause problems</li> <li>1051 NCSARequestLog/RolloverFileOutputStream does not roll day after DST ends</li> <li>1054 Using WebSocketPingPongListener with empty PING payload results in NullPointerException</li> <li>1057 Improve WebSocketUpgradeFilter fast path performance</li> <li>1062 Jetty allows requests to hang under PUT load</li> <li>1063 HostPortHttpField should handle port-only values</li> <li>1064 HttpClient sets chunked transfer-encoding</li> <li>1065 Response.setBufferSize checks for written content.</li> <li>1069 Host header should be sent with HTTP/1.0</li> <li>1072 InetAccessHandler needs InetAddress & Path based restrictions like IPAccessHandler did</li> <li>1078 DigestAuthentication should use realm from server, even if unknown in advance</li> <li>1081 DigestAuthenticator does not check the realm sent by the client</li> <li>1090 Allow WebSocketUpgradeFilter to be used by WEB-INF/web.xml</li> <li>1092 jetty-runner jstl support</li> <li>1098 MimeTypes.getCharsetFromContentType() unable parse "application/pdf;;; charset=UTF-8"</li> <li>1099 PushCacheFilter pushes POST requests</li> <li>1108 Please improve logging in SslContextFactory when there are no approved cipher suites</li> <li>1114 Add testcase for WSUF for stop/start of the Server</li> <li>1118 Filter.destroy() conflicts with ContainerLifeCycle.destroy() in WebSocketUpgradeFilter</li> <li>1123 Broken lifecycle for WebSocket's mappings</li> <li>1124 Allow configuration of WebSocket mappings from Spring</li> <li>1130 PROXY protocol support reports incorrect remote address</li> <li>1134 Jetty HTTP/2 client problems</li> <li>1135 Avoid allocations from Method.getParameterTypes() if possible</li> <li>1146 jetty.server.HttpInput deadlock</li> <li>1161 HttpClient and WebSocketClient should not remove all cookies on stop</li> <li>1169 HTTP/2 reset on a stalled write does not unblock writer thread</li> <li>1171 jetty-client throws NPE for request to IDN hosts only when `HttpClient#send(...)` is called + 1175 Reading HttpServletRequest InputStream from a Filter then accessing getParameterNames() results in java.io.IOException: Missing content for multipart request</li> <li>1181 Review buffer underflow cases in SslConnection</li> <li>1186 Where can i find SocketConnector .java and BlockingChannelConnector.java etc?</li> </ul> <h2>下载</h2> <ul> <li><a href="/misc/goto?guid=4958996831697824598" rel="nofollow"><strong>Source code</strong> (zip)</a></li> <li><a href="/misc/goto?guid=4958996831835091604" 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/3e7d913c">http://www.open-open.com/news/view/3e7d913c</a></p>