Jetty
開發者 | Eclipse基金會 |
---|---|
目前版本 | 11.0.7(2021年10月19日[1]) |
原始碼庫 | |
程式語言 | Java |
作業系統 | 跨平台 (JVM) |
類型 | 網頁伺服器 Servlet |
許可協定 | Apache許可證 2.0 Eclipse公共許可證 1.0 |
網站 | eclipse.org/jetty |
Jetty是一個純粹的基於Java的網頁伺服器和Java Servlet容器。儘管網頁伺服器通常用來為人們呈現文件,但是Jetty通常在較大的軟體框架中用於電腦與電腦之間的通訊。Jetty作為Eclipse基金會的一部分,是一個自由和開源專案。該網頁伺服器被用在Apache ActiveMQ[2]、Alfresco[3]、Apache Geronimo[4]、Apache Maven、Apache Spark、Google App Engine[5]、Eclipse[6]、FUSE[7]、Twitter's Streaming API[8]、Zimbra[9]等產品上。Jetty也是Lift、Eucalyptus、Red5、Hadoop、I2P等開源專案的伺服器。[10] Jetty支援最新的Java Servlet API(帶JSP的支援),支援SPDY和WebSocket協定。
歷史
[編輯]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、JNDI、OSGi、WebSocket和其他的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]
參見
[編輯]參考文獻
[編輯]- ^ 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).
- ^ ActiveMQ with Ajax and Jetty. Jetty Wike (Codehaus). [2011-04-12]. (原始內容存檔於2011-08-30).
- ^ JM.Pascal. Maven + Alfresco : Jetty, Boostrap and Profil. Going to an OpenSource ECM World.... 2010-04 [2011-04-12]. (原始內容存檔於2012-01-07).
- ^ Configuring Virtual Hosts in Geronimo-Jetty. Apache Geronimo Documentation. [2011-04-12]. (原始內容存檔於2018-12-01).
- ^ 5.0 5.1 Wickesser, Craig. Google Chose Jetty for App Engine. InfoQ. C4Media Inc. 2009-08-05 [2011-04-12]. (原始內容存檔於2020-08-14).
- ^ jetty://. Eclipse. [2011-04-12]. (原始內容存檔於2021-02-04).
- ^ class JettyHttpComponent. FuseSource. Red Hat. [2011-04-12]. (原始內容存檔於2011-03-15).
- ^ Twitter Streaming API and Apache Wink. [2011-05-19]. (原始內容存檔於2016-03-15).
- ^ Zhuang, JJ. Zimbra Blog: Why we switched to Jetty. Zimbra. VMware. 2007-12-18 [2011-04-12]. (原始內容存檔於2011-07-21).
- ^ Powered by Jetty. [2012-09-24]. (原始內容存檔於2020-06-28).
- ^ 莫特灣(Mort Bay)是巴爾曼(Balmain)的一部分。
- ^ 12.0 12.1 Jetty/FAQ - Eclipsepedia. Wiki.eclipse.org. 2011-09-06 [2014-07-17]. (原始內容存檔於2020-11-28).
- ^ Jetty - Java HTTP Servlet Server / Mailing Lists. Sourceforge.net. [2014-07-17].
- ^ 14.0 14.1 14.2 14.3 About Jetty (頁面存檔備份,存於網際網路檔案館), Located on Codehaus.
- ^ 15.0 15.1 15.2 15.3 15.4 15.5 15.6 15.7 About Jetty (頁面存檔備份,存於網際網路檔案館), Located on Eclipse.
- ^ The Eclipse Jetty Project repository has moved to Github!. 2016-02-12 [2017-03-15]. (原始內容存檔於2016-03-19).
- ^ What Version. eclipse.org. 2015-05-13 [2015-05-13]. (原始內容存檔於2020-10-14).
- ^ jetty 9.3.0 release review. Dev.eclipse.org. 2015-02-25 [2015-04-22]. (原始內容存檔於2020-10-01).
- ^ jetty 9.2.0 release review. Dev.eclipse.org. 2014-04-16 [2015-04-22]. (原始內容存檔於2020-09-23).
- ^ [jetty-announce] Jetty 9.1.0.v20131115 Stable Release!. Dev.eclipse.org. 2013-11-18 [2014-07-17]. (原始內容存檔於2017-08-14).
- ^ [jetty-announce] Announcing Jetty 9.0.0. Dev.eclipse.org. 2013-03-08 [2014-07-17]. (原始內容存檔於2016-03-04).
- ^ [jetty-announce] Jetty releases 7.6.0 and 8.1.0. Dev.eclipse.org. [2014-07-17]. (原始內容存檔於2016-03-04).
- ^ 23.0 23.1 Stack and Laffoon, Mark. HBase, mail # user - servlet container (embedded jetty). 2010-07-23 [2013-10-11]. (原始內容存檔於2013-10-12).
外部連結
[編輯]- Jetty首頁 (頁面存檔備份,存於網際網路檔案館)
- Jetty文件 (頁面存檔備份,存於網際網路檔案館)
- Jetty開發者部落格
- Jetty Hosting (頁面存檔備份,存於網際網路檔案館)