Jetty学习笔记(一)

        Jetty作为一个比较出色的Servlet引擎,对于想了解整个Web应用的工作原理还是非常有帮助的。由于Servlet引擎需要处理高并发的请求,其请求处理策略也是重点学习之一。另外就是各种设计模式和一些代码处理细节。很多人可能会觉得研究Tomcat可能会更有帮助。但是Tomcat的复杂性往往会让人望而生畏,失去了学习的动力。

       打蛇打七寸,首先从宏观上认识Jetty,记得前段时间下载Tomcat源码的时候看着一串串的包就懵了,不知道从哪里入手。由于代码可能也不完整,后来也不了了之。拿到Jetty,可能会有N多的Module,各个Module里又会有很多Package。那不可能从上至下去看,一遍看下来估计还是一团浆糊。所以找到Jetty的核心框架至关重要(跟房子的钢筋架一样)。这些网上会有一些资料供参考或者可以凭自己的认识下手。如果第一次接触网上的资料是一个比较好的选择,如果看完Jetty再去看Tomcat那马上就可以找到七寸,到时候学习的只是两者在同一模块的不同处理策略。

       这里先从最基本的下手。Jetty作为Servlet引擎它的核心在哪里?它一定需要有Socket接收客户的请求(这里基本就是指HTTP请求,但不管怎么样都遵循TCP/IP协议),而且它一定会有一个Manager或者Server初始化这些Socket让它开始工作,至于具体的处理策略倒不是最关心的。那我看了代码大概知道它会通过线程池来管理所有的处理线程,这一点也基本不会有什么疑义,作为并发请求用线程池管理是一件很自然的事情。大部分框架都会用到线程池。线程池的好处在这里也就不多说。那和客户端建立连接后就开始处理客户端发送过来的请求,这里就会用HTTP协议来处理发送过来的字符流,比如说GETPOSTHEAD之类的。但是协议的解析处理也仍然是细节。现在知道会通过这些协议解析客户端发送过来的数据然后进行一系列的处理,然后回传给客户端,完整的处理就OK了。好了,知道这些仍然是最基本的。因为你看其他的框架,比如说JDBC,还有JMS发现都是这个原理。这个就好像C++的语法和Java的语法看起来差不多一样,可是真正的机制还是有很大差异的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值