Jetty -9.3.15.v20161220发布,一个servlet容器
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便是更优的。
更新日志
- 240 Missing content for multipart request after upgrade to Jetty > 9.2.7
- 905 Jetty terminates SSL connections too early with Connection: close
- 1020 Java Util Logging properties in wrong location
- 1050 Add multiple FilterHolder to a ServletContextHandler may cause problems
- 1051 NCSARequestLog/RolloverFileOutputStream does not roll day after DST ends
- 1054 Using WebSocketPingPongListener with empty PING payload results in NullPointerException
- 1057 Improve WebSocketUpgradeFilter fast path performance
- 1062 Jetty allows requests to hang under PUT load
- 1063 HostPortHttpField should handle port-only values
- 1064 HttpClient sets chunked transfer-encoding
- 1065 Response.setBufferSize checks for written content.
- 1069 Host header should be sent with HTTP/1.0
- 1072 InetAccessHandler needs InetAddress & Path based restrictions like IPAccessHandler did
- 1078 DigestAuthentication should use realm from server, even if unknown in advance
- 1081 DigestAuthenticator does not check the realm sent by the client
- 1090 Allow WebSocketUpgradeFilter to be used by WEB-INF/web.xml
- 1092 jetty-runner jstl support
- 1098 MimeTypes.getCharsetFromContentType() unable parse "application/pdf;;; charset=UTF-8"
- 1099 PushCacheFilter pushes POST requests
- 1108 Please improve logging in SslContextFactory when there are no approved cipher suites
- 1114 Add testcase for WSUF for stop/start of the Server
- 1118 Filter.destroy() conflicts with ContainerLifeCycle.destroy() in WebSocketUpgradeFilter
- 1123 Broken lifecycle for WebSocket's mappings
- 1124 Allow configuration of WebSocket mappings from Spring
- 1130 PROXY protocol support reports incorrect remote address
- 1134 Jetty HTTP/2 client problems
- 1135 Avoid allocations from Method.getParameterTypes() if possible
- 1146 jetty.server.HttpInput deadlock
- 1161 HttpClient and WebSocketClient should not remove all cookies on stop
- 1169 HTTP/2 reset on a stalled write does not unblock writer thread
- 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
- 1181 Review buffer underflow cases in SslConnection
- 1186 Where can i find SocketConnector .java and BlockingChannelConnector.java etc?
下载
本站原创,转载时保留以下信息:
本文转自:深度开源(open-open.com)
原文地址:http://www.open-open.com/news/view/3e7d913c
正文到此结束