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). 

外部連結

編輯