Tomcat6
文章平均质量分 85
dxsksk
这个作者很懒,什么都没留下…
展开
-
Tomcat中server.xml的配置分析一
最近查看了tomcat6的源代码,了解了里面的大概流程,对细节问题还没有深入,故想通过发表博客对tomcat进 行深入了解首先对server.xml进行分析,了解其中tomcat可配置的功能,对tomcat中应有的功能进行较全面的了 解,这样一来对后面在源代码中看到的些判断逻辑会更加清楚. 查找了下以下文章对此作了较详细的描述:转载至:http://d...2010-03-19 14:07:15 · 71 阅读 · 0 评论 -
Tomcat源码---请求处理二
一,经过以上文章(JIoEndpoint$Worker#run)执行,就成功把socket交给tomcat中的coyote包执行org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler#process(Socket socket) public boolean process(Socket socket) { ...2010-03-24 15:04:43 · 118 阅读 · 0 评论 -
Tomcat源码---请求处理三
一,这一章节主要讲request与response通过管道,阀门在各个容器间运行 1,connector.getContainer().getPipeline().getFirst().invoke(request, response);这一步是StandardEngine获取StandardPipeline被StandardEngineValve进行过滤后执行到StandardHost...2010-03-25 10:39:52 · 143 阅读 · 0 评论 -
Tomcat源码---请求处理四(1)
一,现在到了StandardWrapperValve#invoke下,现在才算是真正的调用,主要实现了对servlet,filter执行 /** * Invoke the servlet we are managing, respecting the rules regarding * servlet lifecycle and SingleThreadMo...2010-03-25 11:08:00 · 116 阅读 · 0 评论 -
Tomcat源码---请求处理四(2)
对以上的StandardWrapperValve#invoke进行说解 if (!unavailable) { //servlet行行在这一步 servlet = wrapper.allocate(); } public Servlet allocate()...2010-03-25 15:34:35 · 125 阅读 · 0 评论 -
Tomcat源码---响应处理五
一,响应工作我们应该从CoyoteAdapter#service方法下的 if (!comet) { response.finishResponse(); req.action(ActionCode.ACTION_POST_REQUEST , null); } public...2010-03-25 16:01:53 · 205 阅读 · 0 评论 -
Tomcat源码---Session的分析一
一,前面看了大致的tomcat的请求/响应,接下来的文章对tomcat里面的一些模块进行详细分析,从中学习其思想... Session的功能(Session 对象可以存储特定用户会话所需的信息): 1,session是一个以bean的形式存在的,存储在内存中,特定用户可对其进行crud操作. 2,session是有生命周期的. 3,sesson是通过特定用户访问系统时,返...2010-03-29 11:31:46 · 93 阅读 · 0 评论 -
Tomcat源码---容器生命周期管理(Lifecycle)一
一,tomcat中每一个容器都有其生命周期,初始化/启动/结束 等,可以在各自的生命周期内的步骤中进行一系列需要的操作如日记通知,生命周期中采用最独特的设计模式,就是适配器模式(Addapter),与命令模式(Command) 在一个周期内涉及到的类是:(Lifecycle,LifecycleSupport(适配器),LifecycleEvent,LifecycleListener(命令))...2010-03-31 11:12:56 · 133 阅读 · 0 评论 -
Apache实现Tomcat集群
一,配置介绍 1,linux 2,tomcat6.0 (tomcat1,tomcat2) 3,httpd( apache 版本(2.2.15))(需要命令安装) 4, mod_jk-1.2.30-httpd-2.2.3.so (版本与上面的httpd要保持一致(2.2.x))------------------------------------------------...原创 2010-06-08 20:14:17 · 104 阅读 · 0 评论 -
Tomcat源码---请求处理(接收,线程分配)一
一,在以上文章中tomcat启动已经完毕,接着要做的是消息的请求与响应以下是tomcat文档中的详解----------------------------------------------------------------------------------------------- d) Tomcat receives a request on an HTTP port...2010-03-24 14:34:15 · 424 阅读 · 0 评论 -
Tomcat源码---容器启动六(4)
现在容器已经启动成功的StanderService#start中继续是executor(不作详解)与connector的启动 //两个connector的启动8080 8009 synchronized (connectors) { for (int i = 0; i < connectors.length; i++) { ...2010-03-24 11:14:43 · 113 阅读 · 0 评论 -
Tomcat的简单了解二
在查看源代码时,在网上找了一系列的文章,在些作详解: 1,对tomcat中某些重要的功能进行了搜集,可从中了解到tomcat的大致功能. http://blog.csdn.net/wangchengsi/archive/2008/09/23/2966847.aspx2,这个是官方网档对tomcat的架构进行了描述(里面包含了uml架构图,与文字描述,还有各种配置)....2010-03-19 14:40:21 · 93 阅读 · 0 评论 -
Tomcat源码---启动.初始化(加载类包)分析三
一,启动Tomcat是从org.apache.catalina.startup.Bootstrap#main()开始启动.代码如下: public static void main(String args[]) { if (daemon == null) { daemon = new Bootstrap(); ...2010-03-19 15:37:18 · 144 阅读 · 0 评论 -
Tomat源码---载入相应的资源及解析四(1)
一,进行了以上的类包加载后,现在主要的工作是载入server.xml,并对里面的配置进行解析,最特别的就是里面各个容器的初始化(Server,Service,Engine,Host,Context). -----------------------------------------------------------------------------------------------...2010-03-19 16:22:27 · 139 阅读 · 0 评论 -
Tomcat源码---载入相应的资源及解析四(2)
一,根据以上文章所讲的对server.xml的解析作下简单的分析org.apache.catalina.startup.Catalina#loadDigester是用sax来解析server.xml的类,这一步是初始化 //创建该对象,主要是对conf/server.xml进行解析 Digester digester = createStartDigester...2010-03-19 16:47:12 · 105 阅读 · 0 评论 -
Tomcat源码---初始化容器五
一,上面文章完成了对server.xml载入以及解析,现在主要做的是就是对里面所定义的容器进行初始化工作.查看org.apache.catalina.startup.Catalina#load() //StandarServer开始进行实例化 server.initialize(); 默认情况下是org.apache.cat...2010-03-22 15:03:00 · 118 阅读 · 0 评论 -
Tomcat源码---容器启动六(1)
一,完成了以上的初始化工作,现在进行容器的启动工作由------------------------------------------------------------------------------------- c) Catalina.start() c1) Starts the NamingContext and binds all JNDI referenc...2010-03-22 16:02:41 · 98 阅读 · 0 评论 -
Tomcat源码---容器启动六(2)
super.start()--->org.apache.catalina.core.ContainerBase#start() /** * Prepare for active use of the public methods of this Component. * * @exception LifecycleException if th...2010-03-23 16:42:43 · 101 阅读 · 0 评论 -
Tomcat源码---容器启动六(3)
一,容器已经启动到部暑文件(webapps),接下去是StandardContext,standardWarpper还有Connector等的启动我们来了解一下部暑war文件 // Deploy WARs, and loop if additional descriptors are found //appBase:webapps File appB...2010-03-24 10:48:03 · 114 阅读 · 0 评论 -
Nginx1.1实现Resin4集群
一,web服务器小论 以前的公司使用的web服务器是tomcat(tomcat+apache作集群),现在的公司是一家互联网公司,采用的架构是resin+nginx作集群(resin比tomcat快?还有待以后章节比较讨论), 集群配置服务器说明: 1),serve1:127.0.0.1:8080 2), serve2:127.0.0...原创 2011-10-17 17:56:03 · 165 阅读 · 0 评论