How Tomcat Works读书笔记之升级架构】的更多相关文章

上一篇HttpServer类职责很多,包括启动服务器,创建ServerSocket,得到客户端Socket,创建Request对象和Response对象,并解析Http请求,这样很混乱,不利于以后服务器的扩展,所以这次将职责分离,分成Bootstrap,HttpConnector,HttpProcessor类. Bootstrap类职责是启动服务器. HttpConnector类指代一个连接器,职责是创建一个服务器套接字用来等待前来的HTTP请求. HttpProcessor类用于解析Http请…
app1 (建议读者在看本章之前,先看how tomcat works 读书笔记(一)----------一个简单的web服务器 http://blog.csdn.net/dlf123321/article/details/39378157) 回顾我们上一章,我们开发了一个最最简单的web服务器,它可以使用户访问服务器内的静态资源.当然这是远远不够的,在这一节里,我们就试着让服务器在能相应静态资源的基础上继续支持servlet. servlet接口 javax.servlet.Servlet接口…
事实上在第三章,就已经有了连接器的样子了,只是那仅仅是一个学习工具,在这一章我们会開始分析tomcat4里面的默认连接器. 连接器 Tomcat连接器必须满足下面几个要求 1 实现org.apache.cataline.Connector接口 2 负责创建实现了org.apache.cataline.Request接口的request对象 3 负责创建实现了org.apache.cataline.Response接口的response对象 这里默认的连接器的原理非常easy,就是等待http请求…
http协议 若是两个人能正常的说话交流,那么他们间必然有一套统一的语言规则<在网络上server与client能交流也依赖与一套规则,它就是我们说的http规则(超文本传输协议Hypertext transfer protocol). http分两部分,一个是请求(client发给server),一个是回复(server发给client). 先看http请求 以下就是一个http请求的样例,当中的各项參数,请查阅相关文档.(http://www.cnblogs.com/yin-jingyu/a…
http协议 若是两个人能正常的说话交流,那么他们间必定有一套统一的语言规则<在网络上服务器与客户端能交流也依赖与一套规则,它就是我们说的http规则(超文本传输协议Hypertext transfer protocol). http分两部分,一个是请求(客户端发给服务器),一个是回复(服务器发给客户端). 先看http请求 下面就是一个http请求的例子,其中的各项参数,请查阅相关资料.(http://www.cnblogs.com/yin-jingyu/archive/2011/08/01/…
大家可以松一口气了,这个组件比较简单,这一节和前面几节想比,也简单的多. Logger接口 Tomcat中的日志记录器都必须实现org.apache.catalina.Logger接口. package org.apache.catalina; import java.beans.PropertyChangeListener; public interface Logger { public static final int FATAL = Integer.MIN_VALUE; public s…
几个概念 HttpServlet,Servlet Servlet是一个接口,定义了一种网络服务,我们所有的servlet都要实现它(或它的子类) HttpServlet是一个抽象类,它针对的就是http网络服务 当然如果以后再有其他的网络服务,可以再定义一个类,让它实现Servlet即可. HttpServletRequest,ServletRequest 先说ServletRequest接口,它用来传递网络服务的请求,用在Servlet类的service方法. 那么HttpServletReq…
Java的类载入器 详细资料见 http://blog.csdn.net/dlf123321/article/details/39957175 http://blog.csdn.net/dlf123321/article/details/40431297 首先说明两个术语 仓库(repository),表示类加载器会在哪里搜索要载入的类; 资源(resource),知道一个类载入器中的DirContext对象,它的文件跟路径指的就是上下文的文件跟路径. 在tomcat中,我们使用了自定义载入器,…
在上一节中,我们程序的起始位置还是Bootstrap,现在我们通过bat文件来启动这个类. 在分析catalina.bat之前,我们先看看几个简单的我们能用到的dos命令. 基础知识 1 rem 注释,解释器不会执行rem开始的命令 2 pause 用于暂停正在执行的批处理文件,按任意键后继续 3 echo 在控制台显示一段文本      如果显示变量的值需要在变量前后加% 如echo %var% 如果要输出操作系统的名字 就是 echo %os% 4 echo off 可以将命令本身隐藏 如果…
一路跋山涉水,这是最后一章了. 关于tomcat的启动,有两个类,一个是Catalina类,一个是Bootstrap类. 理论上,两个类可以和到一起,但是为了支持多种运行模式,又把他们分开了. 为了让用户更方便的启动tomcat,还有批处理文件startup.bat(终于见到最顶层的模块了!!) Catalina 先说Catalina 它里面有一个Server组件(不懂的看第14章).同时在它的start方法中包含一个Digester对象(不懂的看第15章)用来解析conf/下的Server.x…