关于jetty
Jetty是一个纯粹的基于Java的网页服务器和Java Servlet容器。尽管网页服务器通常用来为人们呈现文档,但是Jetty通常在较大的软件框架中用于计算机与计算机之间的通信。Jetty作为Eclipse基金会的一部分,是一个自由和开源项目。该网页服务器被用在Apache ActiveMQ、Alfresco、Apache Geronimo、Apache Maven、Apache Spark、Google App Engine、Eclipse、FUSE、Twitter's Streaming API、Zimbra[9]等产品上。Jetty也是Lift、Eucalyptus、Red5、Hadoop、I2P等开源项目的服务器。Jetty支持最新的Java Servlet API(带JSP的支持),支持SPDY和WebSocket协议。
Jetty的历史
Jetty最初是由软件工程师Greg Wilkins在悉尼的郊区巴尔曼开发的,原本是Mort Bay Server(莫特湾服务器)的一个HTTP服务器组件。
Jetty原名IssueTracker,而后更名为MBServler(Mort Bay SERVLet servER,Mort Bay Server的Servlet服务器),最终更名为Jetty。
Jetty于1995年开始开发,版本1.x和2.x由MortBay托管。从2000年到2005年,Jetty版本3.x、4.x和5.x由sourceforge.net托管。2005年,整个Jetty项目转移到了codehaus.org。。2009年,Jetty的核心部件已被转移到Eclipse.org,Codehaus.org继续提供Jetty版本7.x和8.x(不包含9.x)的集成、扩展和打包。
版本 | 寄存于 | Java版本 | 协议 | Servlet版本 | JSP版本 | 状态 |
---|---|---|---|---|---|---|
9.1.x | Eclipse | 1.7 | HTTP/1.1,WebSocketJSR356, SPDY | 3.1 | 2.3 | 稳定(自2013年11月18日) |
9.0.x | Eclipse | 1.7 | HTTP/1.1,WebSocket, SPDY | 3.0(跟踪3.1版草案) | 2.2 | 稳定(自2013年03月08日) |
8.x | Eclipse,Codehaus | 1.6 | HTTP/1.1,WebSocket, SPDY | 3.0 | 2.1 | 稳定 |
7.x | Eclipse,Codehaus | 1.5, J2ME | HTTP/1.1,WebSocket, SPDY | 2.5 | 2.1 | 稳定 |
6.x | Codehaus | 1.4–1.5 | HTTP/1.1 | 2.5 | 2.0 | 不推荐 |
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的应用
Jetty在嵌入式的Java应用程序中提供Web服务,其已经是Eclipse IDE中的一个组成部分。它支持AJP、JASPI、JMX、JNDI、OSGi、WebSocket和其他的Java技术。
Apache Hadoop是Jetty应用在框架中的典型范例。 Hadoop在几个模块中使用Jetty作为Web服务器,其针对了不同的用途:
NameNode和JobTracker使用Jetty呈现管理页面。
TaskTracker使用Jetty接收来自JobTracker的映射(Map),减少并洗牌(Shuffle)操作。
Hadoop 0.23版后,TaskTracker的洗牌操作已从Jetty替换为Netty。