前言 Tomcat遵循J2EE规范,实现了Web容器。很多有关web的书籍和文章都离不开对Tomcat的分析,初学者可以从Tomcat的实现对J2EE有更深入的了解。此外,Tomcat还根据Java虚拟机规范实现了经典的双亲委派模式的类加载体系。本文基于Tomcat7.0的Java源码,对其类加载....
分类:
其他好文 时间:
2015-10-08 14:41:41
阅读次数:
224
从Tomcat源码分析(二)可知,用户的一个请求会经过n个环节的处理,最后到达开发人员写的Servlet,传给Servlet也就是HttpServletRequest和HttpServletResponse,因此可以认为这一路走下来无非就是把最原始的Socket包装成Servlet里用到的HttpServletRequest和HttpServletResponse,只不过每个环节完成的包装功能和部...
分类:
其他好文 时间:
2015-08-31 15:16:22
阅读次数:
127
前面几篇我们分析了Tomcat的启动,关闭,请求处理的流程,tomcat的classloader机制,本篇将接着分析Tomcat的session管理方面的内容。
在开始之前,我们先来看一下总体上的结构,熟悉了总体结构以后,我们在一步步的去分析源代码。Tomcat session相光的类图如下:
通过上图,我们可以看出每一个StandardContext会关联一个Manager,...
分类:
其他好文 时间:
2015-08-11 12:18:33
阅读次数:
105
前面已经分析完了Tomcat的启动和关闭过程,本篇就来接着分析一下Tomcat中请求的处理过程。
在开始本文之前,咋们首先来看看一个Http请求处理的过程,一般情况下是浏览器发送http请求->建立Socket连接->通过Socket读取数据->根据http协议解析数据->调用后台服务完成响应,详细的流程图如上图所示,等读者读完本篇,应该就清楚了上图所表达的意思。Tomcat既是一个Http...
分类:
其他好文 时间:
2015-08-11 10:07:56
阅读次数:
221
我们在Tomcat启动过程(Tomcat源代码阅读系列之三)一文中已经知道Tomcat启动以后,会启动6条线程,他们分别如下:
"ajp-bio-8009-AsyncTimeout" daemon prio=5 tid=7f8738afe000 nid=0x115ad6000 waiting on condition [115ad5000]
"ajp-bio-8009-Acceptor-0" ...
分类:
其他好文 时间:
2015-08-10 22:18:29
阅读次数:
217
Tomcat组件生命周期管理
在Tomcat总体结构
(Tomcat源代码解析之二)中,我们列出了Tomcat中Server,Service,Connector,Engine,Host,Context的继承关系图,你会发现它们都实现了org.apache.catalina.Lifecycle接口,而org.apache.catalina.util.LifecycleBase采用了模板方法模式...
分类:
其他好文 时间:
2015-08-10 20:14:14
阅读次数:
226
Tomcat即是一个HTTP服务器,也是一个servlet容器,主要目的就是包装servlet,并对请求响应相应的servlet,纯servlet的web应用似乎很好理解Tomcat是如何装载servlet的,但,当使用一些MVC框架时,如spring MVC、strusts2,可能就找不出servlet在哪里?其实spring MVC框架就是一整个servlet,在web.xml中配置如下:
...
分类:
其他好文 时间:
2015-08-10 10:37:50
阅读次数:
116
自从写web程序以来,web程序是如何在Tomcat中运行的一直困惑着我,不知道底层的运行机制是无法真正理解web的,所以就开始研究Tomcat源码,Tomcat是一个轻量级的java服务器,再结合《How Tomcat works》和网上大牛博客之后,也算知道了内部的运行架构。
首先去官网下载Tomcat源码,我下载的是apache-tomcat-7.0.63-src(在这里下载),因...
分类:
系统相关 时间:
2015-08-09 12:35:21
阅读次数:
189
2015年7月8日 周三 11:17
研究tomcat源码
build.properties.default 修改为build.properties
新建文件夹E:\javamianshi2016\tomcat\basepath
在build.propertes新增base.path=E:/javamianshi2016/tomcat/basepath...
分类:
其他好文 时间:
2015-07-08 18:58:44
阅读次数:
120
1.下载
去官网下载源码http://tomcat.apache.org/download-70.cgi
或者在eclipse中从svn导入http://svn.apache.org/repos/asf/tomcat/tc7.0.x/tags/TOMCAT_7_0_62/ 2.修改配置将下载后的文件build.properties.default更名为build.properties.
打开bui...
分类:
其他好文 时间:
2015-06-17 11:28:11
阅读次数:
156