感觉最近想偷懒了,哎,强迫自己也要写点东西,偷懒可是会上瘾的,嘿嘿!一有写博客的想法要赶紧行动起来,养成良好的习惯. ok,继续上一篇所说的一些东西,上一篇说到Connector包装了那两个对象,最后变成了HttpServletRequest和HttpServletResponse对象,这两个对象应该就是原生servlet的service方法可以使用的了,但是隔了这么多堵墙,要怎么穿过这么多墙进去呢? 我们还是从上一篇的Adapter的这里开始说,下图所示: 一看到这么长的调用简直就是日了狗了,…
更正上一篇一个小错误,Connector中首先是将socket请求过来的信息封装成一个普通的Request对象(上一篇我写成HttpRequest对象,失误失误,根本就木有HttpRequest这样的对象...),然后在Adapter中封装成一个HttpServletRequest进行处理,再丢给Container.... 源码中可以清晰的看到: ok,这一篇我们就来整个的看看tomcat源码,简单过一遍,看一看里面是怎么运行的(我也会删减大量的非核心的代码) 在看源码之前,我想说一点废话,由于…
这一篇我们不看源码,就大概理一下Tomcat内部组成部分!前面花费了两篇博客的篇幅来说说了一般的maven web项目并部署到tomcat运行,其实都是为这篇做铺垫的! 其实我下载了tomcat7,tomcat8,tomcat9这三个版本的,但是tomcat9有个问题,就是启动的时候黑窗口出现中文乱码,试了很多方法都没用,改了tomcat9配置文件,改了cmd的编码utf8,去了注册表也改了tomcat的65001的那个,虽然都没什么用就对了,后面我看看能不能解决一下这个问题! 我们还是以tom…
初始化已经完成,现在就是启动这些组件,Tomcat中的start方法就是用于启动的,其实start的原理还是和上一篇说的初始化几乎一样!这里我就大概说一下,看几个比较关键的地方就行了. 前面的步骤就大概截图看一下就ok了 ok,由于前面这些东西基本和初始化的流程一样,跳过,我们就从启动service开始看: 其实关键就是这三步,启动引擎,监听器和连接器,我们好好看看这三步其中的原理. 1.启动引擎 engine.start()方法其实就是到StandardEngine中startInternal…
转载:http://www.infoq.com/cn/articles/zh-tomcat-http-request-2 很多开源应用服务器都是集成tomcat作为web container的,而且对于tomcat的servlet container这部分代码很少改动.这样,这些应用服务器的性能基本上就取决于Tomcat处理HTTP请求的connector模块的性能.本文首先从应用层次分析了tomcat所有的connector种类及用法,接着从架构上分析了connector模块在整个tomcat…
Tomcat处理HTTP请求源码分析(上) 作者 张华 发布于 2011年12月8日 | 8 讨论 分享到: 微博 微信 Facebook Twitter 有道云笔记 邮件分享 稍后阅读 我的阅读清单   很多开源应用服务器都是集成tomcat作为web container的,而且对于tomcat的servlet container这部分代码很少改动.这样,这些应用服务器的性能基本上就取决于Tomcat处理HTTP请求的connector模块的性能.本文首先从应用层次分析了tomcat所有的co…
Volley源码解析(二) 没有缓存的情况下直接走网络请求源码分析 Volley源码一共40多个类和接口.除去一些工具类的实现,核心代码只有20多个类.所以相对来说分析起来没有那么吃力.但是要想分析透源码还是需要先宏观后微观的分支线式地来跟踪源码的来龙去脉.这才能把源码分析清楚.分析透彻.并且在了解源码的基础上根据自己的需求进行相应的改造. Volley这个系列分析源码的人很多了.但是分析完代码能够带入实际工程场景进行改造改良使其适应自己工程的博文还是很少的.这里会按照先宏观后围观,先简单后复杂…
转载自:http://www.infoq.com/cn/articles/zh-tomcat-http-request-1 很多开源应用服务器都是集成tomcat作为web container的,而且对于tomcat的servlet container这部分代码很少改动.这样,这些应用服务器的性能基本上就取决于Tomcat处理HTTP请求的connector模块的性能.本文首先从应用层次分析了tomcat所有的connector种类及用法,接着从架构上分析了connector模块在整个tomca…
进阶android,OKhttp源码分析——同步请求的源码分析 OKhttp是我们经常用到的框架,作为开发者们,我们不单单要学会灵活使用,还要知道他的源码是如何设计的. 今天我们来分析一下OKhttp 同步请求的执行流程和源码分析 so,老样子,我们先来一张图   从上图可以看出,不管是同步请求还是异步请求,我们都需要创建一个OKhttpClient对象,用到的是build构造者模式,创建Request对象,然后再OKhttpClient的newCall方法和Request来封装我们的call对…
前面好几篇都说的是一个请求是怎么到servlet中的service方法的,这一篇我们来看看Tomcat8是怎么启动并且初始化其中的组件的? 相信看了前面几篇的小伙伴应该对Tomcat中的各个组件不陌生了,所以我们就可以加快一点速度: 简单说一下Tomcat启动流程,首先是设置一下各种类加载器,然后加载server.xml配置文件,然后初始化Container各个容器,最后就是连接器Connector. 1.批处理文件 双击startup.bat文件启动tomcat,其实内部就是跳转到catali…