`
yayagepei
  • 浏览: 7109 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
    上回我们把请求放进来了,这回我们关上门,好好修理修理它,不折腾它一番,休想轻易出去。 要关门打狗,先得知道房子在哪才行啊,上回我们说到proces的处理被委托到Http11Processor类,它就是这套房子!Http11Processor的process方法,就是这间屋子: /** * Process pipelined HTTP requests on the specified socket. * * @param socketWrapper Socket from which the HTTP requests will be read ...
    费了九牛二虎之力,tomcat终于启动起来了,接下来我们要看看tomcat是如何处理一个请求的。上回 说到JIoEndpoint是负责处理请求的,这个类里面有几个内部接口和内部类,其中有一个就是我们要关注的Acceptor // ------------------- ...
     上回我们说到Http11Protocol,它的init 和start方法: /* * NOTE: There is no maintenance of state or checking for valid transitions * within this class. It is expected that the connector will maintain state * and prevent invalid state transitions. */ @Override public void in ...
    前面我们分析了tomcat是如何启动的,但我们好像并没有看到我们期待发生的诸如在什么地方启动了服务,什么地方启动了监听,好像只是做了些加载资源、设置环境变量等鸡毛蒜皮的事,这到底是怎么回事?我们回顾一下前面提到的一个函数:解析server.xml的函数 protected Digester createStartDigester() { long t1=System.currentTimeMillis(); // Initialize the digester Digester digester = new Dig ...
       对于tomcat这么一个庞大的东西,要去分析它,一开始有种不知从和入手好,原因如下:可切入的点太多了,随便捡个角落都能说半天,但是任何一个东西都不是孤立存在的,要说清楚一个东西,必定会引入其他的东西,这样错综复杂,要把一个点介绍完整,终究不是件容易的事情。         既然无从入手,我们就按平时的使用过程来介绍吧,从启动开始,一步一步的展开我们的旅程。当我们从启动开始,逐步往下行进,最后回到停止时,我们的旅程也就结束了。         好吧,开始吧!         我们一般都是通过运行tomcat/bin下的startup.bat(或者startup. ...
Global site tag (gtag.js) - Google Analytics