作者:聂勇 欢迎转载,请保留作者信息并说明文章来源!
Jetty 采用纯Java编写,小巧,容易扩展。提供了Http Server,Http Client和Servlet容器的功能,所有这些都开放源代码并且可以免费地发布和用于商业。
Jetty 已经应用于各种各样的项目和产品中,可以嵌入到设备,工具,框架,应用服务器和集群中。如:Yahoo Hapoop Cluster,Google AppEngine,Apache Geronimo,JBoss,Google GWT,Eclipse。
Jetty版本 | Jetty Version
- Jetty6.1.22
Jetty Server初始化并启动 | Jetty Server Initialization and Start
1、类 org.mortbay.jetty.Server 的继承结构图如下:
类 org.mortbay.jetty.Server 实现了四个接口:
- org.mortbay.component.LifeCycle
- org.mortbay.jetty.Handler
- org.mortbay.jetty.HandlerContainer
- org.mortbay.util.Attributes
其中接口org.mortbay.component.LifeCycle定义了一个类的生命周期,提供启动,关闭,判断处于哪个生命阶段的功能,是Server,Connector,Handler,HandlerContainer,Attributes等所有需要启动,关闭的接口或类的根。
2、Server初始化时,会同时初始化它所有需要的类。时序图如下:
3、Server启动时做了以下工作:
- 初始化并启动UserRealm(用于Jetty安全管理)。
- 初始化并启动SessionIdManager(HttpSession管理器)。
- 初始化并启动ThreadPool(线程池)。
- 初始化并启动Handler(处理来自浏览器的请求)。
- 初始化并启动Connector(连接器,用于监听并接收来自浏览器的请求)。