Tomcat源码剖析
文章平均质量分 88
rhwayfunn
这个作者很懒,什么都没留下…
展开
-
深入理解Tomcat系列之一:系统架构
前言Tomcat是Apache基金组织下的开源项目,性质是一个Web服务器。下面这种情况很普遍:在eclipse床架一个web项目并部署到Tomcat中,启动tomcat,在浏览器中输入一个类似http://localhost:8080/webproject/anyname.jsp的url,然后就可以看到我们写好的jsp页面的内容了。一切都是那么自然和顺理成章,然而这一切都是源于tomcat带给我们原创 2016-03-27 21:24:57 · 18159 阅读 · 14 评论 -
深入理解Tomcat系列之二:源码调试环境搭建
前言最近对Tomcat的源码比较感兴趣,于是折腾了一番。要调试源码首先需要搭建环境,由于参考了几篇帖子发现都不怎么靠谱,最后还是折腾出来了,然而却花了足足一天的时间去搭建这个环境。发现都不是帖子的问题,主要是自己在搭建过程中忽略了一些细节,最后构建工程的时候一直失败,我也是醉了。所以本着共享的原则,把一些关键的步骤以及一些需要注意的细节写在博客中以飨读者。 下载Tomcat7源码下载源码有多种方式原创 2016-03-27 21:26:50 · 6164 阅读 · 2 评论 -
深入理解Tomcat系列之六:Servlet工作原理
前言Servlet是Web开发中的核心技术,作为一名合格的开发人员,就必须清楚Servlet的工作原理。本章没有对Servlet技术本身进行详细的说明,只是针对开发过程中一次Servlet的请求的处理过程进行分析的。Servlet实际上就是一个java类,只不过可以和浏览器进行一些数据的交换。有Servlet类就有管理Servlet的容器,种类有很多,这里主要针对Tomcat对Servlet的工作原原创 2016-03-27 21:31:23 · 10749 阅读 · 0 评论 -
深入理解Tomcat系列之五:Context容器和Wrapper容器
前言Context容器是一个Web项目的代表,主要管理Servlet实例,在Tomcat中Servlet实例是以Wrapper出现的,现在问题是如何才能通过Context容器找到具体的Servlet呢?在解决这个问题之前,Context容器需要先启动,启动的过程就是加载个类资源文件以及打开子容器以及Pipeline管道的过程。启动Context容器后,就可以处理具体的请求了,具体是通过Request原创 2016-03-27 21:30:22 · 6708 阅读 · 0 评论 -
深入理解Tomcat系列之七:详解URL请求
前言这里分析一个实际的请求是如何在Tomcat中被处理的,以及最后是怎么样找到要处理的Servlet的?当我们在浏览器中输入http://hostname:port/contextPath/servletPath,前面的hostname与port用于建立tcp连接,由于Http也是基于Tcp协议的,所以这里涉及TCP连接的三次握手。后面的contextPath与servletPath则是与服务器进行原创 2016-03-27 21:32:16 · 8398 阅读 · 2 评论 -
深入理解Tomcat系列之四:Engine和Host容器
前言终于到Container容器了,上面说到Connector把封装了Request对象以及Response对象的Socket传递给了Container容器,那么在Contianer容器中又是怎么样的处理流程呢?在说Container容器之前,有必要对Container容器有一个简单的了解,Container容器是子容器的父接口,所有的子容器都必须实现这个接口,在Tomcat中Container容器原创 2016-03-27 21:29:23 · 11668 阅读 · 2 评论 -
深入理解Tomcat系列之三:Connector
前言Connector是Tomcat的连接器,其主要任务是负责处理浏览器发送过来的请求,并创建一个Request和Response的对象用于和浏览器交换数据,然后产生一个线程用于处理请求,Connector会把Request和Response对象传递给该线程,该线程的具体的处理过程是Container容器的事了。执行过程分为以下几个步骤 实例化Connector,构造一个Connector对象调用原创 2016-03-27 21:28:25 · 9318 阅读 · 1 评论