1.Jetty的基本架构1.1.Server+组件+Connector1.2.当start,fail,stop等事件触发的时候,这些Listener将会被调用1.3.Jetty的基本数据模型是Handler1.3.1.HandlerWrapper:封装Handler,做一些委托和拦截工作1.3.2.HandlerCollection:构成Handler链2.Jetty的启动过程2.1.启动设置到Server的Handler链2.2.启动注册在Server上JMX的Mbean2.3.启动Connector,打开端口,接受客户端请求3.接受请求3.1.基于HTTP,AJP两种协议3.2.当Jetty单独运行的时候,基于HTTP协议3.3.当Jetty集成JBoss的时候,基于AJP(Apache+JBoss+Parser)协议3.4.HTTP(HttpParser)和AJP(Ajp13Parserer)协议唯一的不同点在于解析协议的类3.5.基于HTTP协议,ServerSocket用于建立Socket连接以接受和传送数据,Executor用于处理连接的线程池,acceptorThread用于监听连接请求3.6.Jetty创建连接环境的步骤3.6.1.创建一个队列的线程池,用于处理客户端的请求3.6.2.创建ServerSocket,用于接受客户端的请求3.6.3.创建监听线程,用来监听访问端口是否有连接进来3.7.NIO工作方式的基础下,真正共享一个线程的处理只是在监听不同连接的数据传送事件上,其它均是多线程4.处理请求4.1.Handler链上handler方法的执行过程(HandlerCollection)5.与JBoss集成5.1.JBoss是基于JMX(Java管理扩展)的架构,所以只要符合JMX规范的系统或框架都可以作为一个组件加到JBoss中6.与Tomcat的比较6.1.Jetty是面向Handler的架构,而Tomcat是以多级容器构建起来的6.2.Handler的设计用到了责任链模式(接口类HandlerCollection构建一个链,ScopeHandler帮助控制链的访问顺序)和观察者模式(控制Jetty的生命周期)6.3.若生命周期短的连接,Tomcat的总体性能高;若生命周期长的连接,Jetty的总体性能高6.4.Jetty默认使用NIO技术,Tomcat默认使用BIO技术,在处理静态资源时,Tomcat性能更差
菜鸟交流群:260052172(大神莫入)