Java Web 深入分析(7) Jetty原理解析

1Jetty的基本架构

Jetty有一个基本的数据模型,这个模式就是handle,所有拷贝拓展的组件都被当做一个handler被添加到server中,然后由jetty统一管理。

1.1Jetty基本架构简介

如图Jetty核心是由Server和Connector两个组件构成的,整个jetty是基于handle容器工作的,它类似tomcat的Connector容器;

1128666-20180122234000444-596095841.png
如图,jetty还有其他一些可有可无的组件构成,可以在其上面拓展,这也是jetty受欢迎的原因吧。如JMX(Java Management Extensions,即Java管理扩展) 我们可以把自己的MBean 加入到Server中,当server启动时这些类便会跟着启动.
图中可看出jetty主要是围绕server来构建 ,server类继承handler,并关联了Container和connector,container就是MBean的管理容器,mbean 被看做一个个handler被配进server中,由server提供调用规则。
1128666-20180122234256084-1905057751.png

MBean(描述一个可管理的资源。是一个java对象,遵循以下一些规则:1.必须是公用的,非抽象的类 2.必须有至少一个公用的构造器 3.必须实现它自己的相应的MBean接口或者实现javax.management.DynamicMBean接口4.可选的,一个MBean可以实现javax.management.NotificationBroadcaster接口MBean的类型)
如图jetty所有组件的生命周期的管理都是基于观察者模式设计的,这个类似tomcat不过更简单
1128666-20180122234952537-1157259134.png
如图jetty主要是基于handle来设计
1128666-20180122235301756-47672659.png

2Jetty启动过程

2.1接受请求: HTTP 和AJP

2.1.1HTTP

1128666-20180123000742428-862802928.png

1128666-20180122235911944-1862438919.png

2.1.2AJP

通常一个应用服务器不是直接将Java后台服务直接暴露给访问者,而是如图这种结构。
1128666-20180123000202162-1716022845.png
和HTTP对比最大的区别点在于Ajp13SocketConnector替代了 SocketConnector,表示当前连接使用AJP.
1128666-20180123000311334-1180927715.png
1128666-20180123000258928-1395536302.png

AJP(Apache JServ Protocol)是定向包协议。因为性能原因,使用二进制格式来传输可读性文本。WEB服务器通过 TCP连接 和 SERVLET容器连接。

转载于:https://www.cnblogs.com/humi/p/8120504.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值