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协议。
開發者 | Eclipse基金会 |
---|---|
当前版本 |
|
源代码库 | |
编程语言 | 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、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。
参考文献
- . 2024年3月6日 [2024年3月22日].
- . Jetty Wike (Codehaus). [2011-04-12]. (原始内容存档于2011-08-30).
- JM.Pascal. . Going to an OpenSource ECM World.... 2010-04 [2011-04-12]. (原始内容存档于2012-01-07).
- . Apache Geronimo Documentation. [2011-04-12]. (原始内容存档于2018-12-01).
- Wickesser, Craig. . InfoQ. C4Media Inc. 2009-08-05 [2011-04-12]. (原始内容存档于2020-08-14).
- . Eclipse. [2011-04-12]. (原始内容存档于2021-02-04).
- . FuseSource. Red Hat. [2011-04-12]. (原始内容存档于2011-03-15).
- . [2011-05-19]. (原始内容存档于2016-03-15).
- Zhuang, JJ. . Zimbra. VMware. 2007-12-18 [2011-04-12]. (原始内容存档于2011-07-21).
- . [2012-09-24]. (原始内容存档于2020-06-28).
- 莫特湾(Mort Bay)是巴尔曼(Balmain)的一部分。
- . Wiki.eclipse.org. 2011-09-06 [2014-07-17]. (原始内容存档于2020-11-28).
- . Sourceforge.net. [2014-07-17].
- About Jetty (页面存档备份,存于), Located on Codehaus.
- About Jetty (页面存档备份,存于), Located on Eclipse.
- . 2016-02-12 [2017-03-15]. (原始内容存档于2016-03-19).
- . eclipse.org. 2015-05-13 [2015-05-13]. (原始内容存档于2020-10-14).
- . Dev.eclipse.org. 2015-02-25 [2015-04-22]. (原始内容存档于2020-10-01).
- . Dev.eclipse.org. 2014-04-16 [2015-04-22]. (原始内容存档于2020-09-23).
- . Dev.eclipse.org. 2013-11-18 [2014-07-17]. (原始内容存档于2017-08-14).
- . Dev.eclipse.org. 2013-03-08 [2014-07-17]. (原始内容存档于2016-03-04).
- . Dev.eclipse.org. [2014-07-17]. (原始内容存档于2016-03-04).
- Stack and Laffoon, Mark. . 2010-07-23 [2013-10-11]. (原始内容存档于2013-10-12).
外部链接
- Jetty主页 (页面存档备份,存于)
- Jetty文档 (页面存档备份,存于)
- Jetty开发者博客
- Jetty Hosting (页面存档备份,存于)