Tomcat 源码
Jacky-止涯
这个作者很懒,什么都没留下…
展开
-
初探Tomcat源码 (1) —— Http请求和响应
HTTP (HTTP-Hypertext transfer protocol),超文本传输协议,是超媒体系统应用之间的通信协议。是一个让网络客户端和服务器端相互传输交互的协议,是Request和Response的协议,简单来说,就是Client发送请求Request,而Server响应请求Response。 【另外,在HTTP中,服务器端不能主动连接客户端,都是客户端先请求,服务原创 2013-05-05 04:19:27 · 1465 阅读 · 0 评论 -
初探Tomcat源码 (2) —— Socket
网络中进程之间的通信,Request和Response的交互就是通过Socket来是实现的。这需要唯一地标识一个进程。 在本地可以通过进程PID来唯一标识一个进程,但是在网络需要用另一种方式标识:利用三元组(IP地址,协议,端口)来标识网络的进程。网络层的“ip地址”可以唯一标识网络中的主机,而传输层的“协议+端口”可以唯一标识主机中的应用程序(进程)。因此: Socke原创 2013-05-05 04:31:23 · 1167 阅读 · 0 评论 -
初探Tomcat源码 (3) —— SimpleHttpServer
前面分别介绍了Http的请求响应,以及Socket的通信,现在整合起来,看请求响应怎么通过Socket来交互通信。 我们通过下面一个简单ServerSocket的应用,来把Request和Response融入到Socket的传输通信中。 /** * 模拟简单的服务器端 */publicclass SimpleHttpServer { publ原创 2013-05-05 13:01:58 · 1025 阅读 · 0 评论 -
初探Tomcat源码 (4) —— Catalina容器结构
Tomcat是一个由一系列可配置的组件构成的Web容器,而Catalina是Tomcat的servlet容器。Catalina主要组件的结构如下: 如上图所示,Catalina负责管理Server,而Server表示着整个服务器。Server下面有多个服务Service,每个服务都包含着多个连接器组件Connector和一个容器组件Co原创 2013-05-05 19:58:52 · 2040 阅读 · 1 评论 -
初探Tomcat源码 (6) —— Cookie
HTTP协议本身是无状态的,客户端只需要简单的向服务器请求下载某些文件,无论是客户端还是服务器都没有必要纪录彼此过去的行为,每一次请求之间都是独立的,好比一个顾客和一个自动售货机的关系一样。但是很多时候,我们需求区分用户发来的请求是否来自于同一个浏览器,例如用户只用登陆一次,就可以了,后来的请求都带着这个登陆信息,就不用重复登陆了。所以客户端和服务器端的交互,需要携带一部分的状态信息,Co原创 2013-05-07 12:43:43 · 1409 阅读 · 0 评论 -
初探Tomcat源码 (7) —— Session_Manager
HTTP协议本身是无状态的,客户端只需要简单的向服务器请求下载某些文件,无论是客户端还是服务器都没有必要纪录彼此过去的行为,每一次请求之间都是独立的,好比一个顾客和一个自动售货机的关系一样。但是很多时候,我们需求区分用户发来的请求是否来自于同一个浏览器,例如用户只用登陆一次,就可以了,后来的请求都带着这个登陆信息,就不用重复登陆了。所以客户端和服务器端的交互,需要携带一部分的状态信息,Co原创 2013-05-07 20:43:29 · 982 阅读 · 0 评论 -
初探Tomcat源码 (8) —— Session_StandardSession
上一章讨论过Tomcat5.0中Catalina通过Manager来完成session的管理,这章我们来看看Session的标准实现:StandardSession。StandardSession StandardSession除了实现了javax.servlet.http.HttpSession和org.apache.catalina.Session之外,它还实现了原创 2013-05-08 01:53:23 · 1805 阅读 · 0 评论 -
初探Tomcat源码 —— 关闭钩子
在Tomcat中,通过Catalina的start()来启动服务器Server等组件;然后监听ShutDown命令来调用stop()关闭。 但是,如果程序没有走上面的流程,非正常关闭,那么stop()的逻辑就没法执行了。幸运的是,和Java的shutdown钩子一样,Tomcat也提供了自己的关闭钩子。JVM的关闭钩子可以参考我的《JVM关闭钩子(2)—— 源码浅析》,主要是原创 2013-05-22 21:53:54 · 2728 阅读 · 0 评论