Jetty是一个纯粹的基于Java网页服务器Java Servlet容器。尽管网页服务器通常用来为人们呈现文档,但是Jetty通常在较大的软件框架中用于计算机与计算机之间的通信。Jetty作为Eclipse基金会的一部分,是一个自由开源项目。该网页服务器被用在Apache ActiveMQ[2]Alfresco英语Alfresco (software)[3]Apache Geronimo英语Apache Geronimo[4]Apache MavenApache SparkGoogle App Engine[5]Eclipse[6]FUSE[7]Twitter's Streaming API[8]Zimbra英语Zimbra[9]等产品上。Jetty也是LiftEucalyptusRed5英语Red5 (media server)HadoopI2P等开源项目的服务器。[10] Jetty支持最新的Java Servlet API(带JSP的支持),支持SPDYWebSocket协议。

Jetty
開發者Eclipse基金会
当前版本11.0.7(2021年10月19日,​3年前​(2021-10-19[1]
源代码库 編輯維基數據鏈接
编程语言Java
操作系统跨平台 (JVM)
类型网页服务器
Servlet
许可协议Apache许可证 2.0
Eclipse公共许可证 1.0
网站eclipse.org/jetty

历史

Jetty最初是由软件工程师Greg Wilkins在悉尼的郊区巴尔曼开发的,原本是Mort Bay Server(莫特湾服务器)的一个HTTP服务器组件[11][12]

Jetty原名IssueTracker,而后更名为MBServler(Mort Bay SERVLet servER,Mort Bay Server的Servlet服务器),最终更名为Jetty。[12]

Jetty于1995年开始开发,版本1.x和2.x由MortBay托管。从2000年到2005年,Jetty版本3.x、4.x和5.x由sourceforge.net托管。2005年,整个Jetty项目转移到了codehaus.org。[13]。2009年,Jetty的核心部件已被转移到Eclipse.org,Codehaus.org继续提供Jetty版本7.x和8.x(不包含9.x)的集成、扩展和打包。[14][15]2016年,Jetty的代码主仓库已经迁移到了Github页面存档备份,存于互联网档案馆[16],但是其仍然处于Eclipse IP Process页面存档备份,存于互联网档案馆)政策下开发。

版本 寄存于 Java版本 协议 Servlet版本 JSP版本 状态
9.4.x Eclipse[15] 1.8 HTTP/1.1, HTTP/2, WebSocket JSR356 3.1 2.3 稳定(自2016年12月12日)
9.3.x Eclipse[15] 1.8 HTTP/1.1, HTTP/2, WebSocket JSR356 3.1 2.3 稳定(自2015年2月25日)[17][18]
9.2.x Eclipse[15] 1.7 HTTP/1.1, WebSocket JSR356, SPDY 3.1 2.3 稳定(自2014年4月16日)[19]
9.1.x Eclipse[15] 1.7 HTTP/1.1, WebSocket JSR356, SPDY 3.1 2.3 稳定(自2013年11月18日)[20]
9.0.x Eclipse[15] 1.7 HTTP/1.1, WebSocket, SPDY 3.0(跟踪3.1版草案) 2.2 稳定(自2013年3月8日)[21]
8.x Eclipse,[15] Codehaus[14] 1.6 HTTP/1.1, WebSocket, SPDY 3.0 2.1 产品生命周期结束
7.x Eclipse,[15] Codehaus[14] 1.5, J2ME HTTP/1.1, WebSocket, SPDY 2.5 2.1 产品生命周期结束
6.x Codehaus[14] 1.4–1.5 HTTP/1.1 2.5 2.0 已剔除[22]
5.x Sourceforge 1.2–1.5 HTTP/1.1 2.4 2.0 不推荐
4.x Sourceforge 1.2, J2ME HTTP/1.1 2.3 1.2 古老的
3.x Sourceforge 1.2 HTTP/1.1 RFC2068 2.2 1.1 化石态
2.x Mortbay 1.1 HTTP/1.0 RFC1945 2.1 1.0 传奇态
1.x Mortbay 1.0 HTTP/1.0 RFC1945 神话态

应用

Jetty在嵌入式的Java应用程序中提供Web服务,其已经是Eclipse IDE中的一个组成部分。它支持AJP、JASPI、JMX、JNDIOSGiWebSocket和其他的Java技术。[5]

Apache Hadoop是Jetty应用在框架中的典型范例。 Hadoop在几个模块中使用Jetty作为Web服务器,其针对了不同的用途:

  • NameNode和JobTracker使用Jetty呈现管理页面。[23]
  • TaskTracker使用Jetty接收来自JobTracker的映射(Map),减少并洗牌(Shuffle)操作。[23]

Hadoop 0.23版后,TaskTracker的洗牌操作已从Jetty替换为Netty[24]

参见

参考文献

  1. ^ Walker, Chris. [jetty-announce] Eclipse Jetty 10.0.7 and 11.0.7 Have Been Released!. Jetty mailing list. 2021-10-19 [2021-10-19]. (原始内容存档于2021-10-29). 
  2. ^ ActiveMQ with Ajax and Jetty. Jetty Wike (Codehaus). [2011-04-12]. (原始内容存档于2011-08-30). 
  3. ^ JM.Pascal. Maven + Alfresco : Jetty, Boostrap and Profil. Going to an OpenSource ECM World.... 2010-04 [2011-04-12]. (原始内容存档于2012-01-07). 
  4. ^ Configuring Virtual Hosts in Geronimo-Jetty. Apache Geronimo Documentation. [2011-04-12]. (原始内容存档于2018-12-01). 
  5. ^ 5.0 5.1 Wickesser, Craig. Google Chose Jetty for App Engine. InfoQ. C4Media Inc. 2009-08-05 [2011-04-12]. (原始内容存档于2020-08-14). 
  6. ^ jetty://. Eclipse. [2011-04-12]. (原始内容存档于2021-02-04). 
  7. ^ class JettyHttpComponent. FuseSource. Red Hat. [2011-04-12]. (原始内容存档于2011-03-15). 
  8. ^ Twitter Streaming API and Apache Wink. [2011-05-19]. (原始内容存档于2016-03-15). 
  9. ^ Zhuang, JJ. Zimbra Blog: Why we switched to Jetty. Zimbra. VMware. 2007-12-18 [2011-04-12]. (原始内容存档于2011-07-21). 
  10. ^ Powered by Jetty. [2012-09-24]. (原始内容存档于2020-06-28). 
  11. ^ 莫特湾(Mort Bay)是巴尔曼(Balmain)的一部分。
  12. ^ 12.0 12.1 Jetty/FAQ - Eclipsepedia. Wiki.eclipse.org. 2011-09-06 [2014-07-17]. (原始内容存档于2020-11-28). 
  13. ^ Jetty - Java HTTP Servlet Server / Mailing Lists. Sourceforge.net. [2014-07-17]. 
  14. ^ 14.0 14.1 14.2 14.3 About Jetty页面存档备份,存于互联网档案馆), Located on Codehaus.
  15. ^ 15.0 15.1 15.2 15.3 15.4 15.5 15.6 15.7 About Jetty页面存档备份,存于互联网档案馆), Located on Eclipse.
  16. ^ The Eclipse Jetty Project repository has moved to Github!. 2016-02-12 [2017-03-15]. (原始内容存档于2016-03-19). 
  17. ^ What Version. eclipse.org. 2015-05-13 [2015-05-13]. (原始内容存档于2020-10-14). 
  18. ^ jetty 9.3.0 release review. Dev.eclipse.org. 2015-02-25 [2015-04-22]. (原始内容存档于2020-10-01). 
  19. ^ jetty 9.2.0 release review. Dev.eclipse.org. 2014-04-16 [2015-04-22]. (原始内容存档于2020-09-23). 
  20. ^ [jetty-announce] Jetty 9.1.0.v20131115 Stable Release!. Dev.eclipse.org. 2013-11-18 [2014-07-17]. (原始内容存档于2017-08-14). 
  21. ^ [jetty-announce] Announcing Jetty 9.0.0. Dev.eclipse.org. 2013-03-08 [2014-07-17]. (原始内容存档于2016-03-04). 
  22. ^ [jetty-announce] Jetty releases 7.6.0 and 8.1.0. Dev.eclipse.org. [2014-07-17]. (原始内容存档于2016-03-04). 
  23. ^ 23.0 23.1 Stack and Laffoon, Mark. HBase, mail # user - servlet container (embedded jetty). 2010-07-23 [2013-10-11]. (原始内容存档于2013-10-12). 
  24. ^ Murthy, Arun. Apache Hadoop 0.23. Hortonworks. 2011-08-25 [2013-10-11]. (原始内容存档于2020-08-25). 

外部链接