java
songxiaojun1
thinking
展开
-
Tomcat源码分析(一)
废话少说,拉代码,导入eclipse开干,具体步骤可以参考http://hi.baidu.com/hateeyes/blog/item/7f44942a20ad8f9d023bf66d.html下面谈谈我对Tomcat架构的理解总体架构:面向组件架构基于JMX事件侦听1)面向组件架构tomcat代码看似很庞大,但从结构上看却很清晰和简单,它主要由一堆组件组成,如Server转载 2012-02-29 10:07:06 · 339 阅读 · 0 评论 -
Tomcat源码分析(二)------ 一次完整请求的里里外外
2009-12-19 21:35 2479人阅读 评论(10) 收藏 举报前几天分析了一下Tomcat的架构和启动过程,今天开始研究它的运转机制。Tomcat最本质就是个能运行JSP/Servlet的Web服务器 , 因此最典型的应用就是用户通过浏览器访问服务器,Tomcat接收到请求后转发给Servlet,由Servlet处理完后,把结果返回给客户端。今天就专门解析一下这么一个完整的请求转载 2012-02-29 10:09:59 · 349 阅读 · 0 评论 -
Tomcat源码分析(三)------ 可携带状态的线程池
最近想实现一个可携带状态的线程池,具体需求就是池中的线程被用来处理某种信息,而此信息可视为线程所依赖的外部状态。如果用简单的线程池来实现,线程初始化时就得赋予某些信息,使得线程无法被再次利用。在看老版Tomcat的源码时,找到了答案,其实现思路主要是利用了线程的等待和唤起,HttpProcessor的实现正好基于此思路,时序图如下所示:初始化HttpProcessor线程时,没法赋予所需的转载 2012-02-29 10:19:25 · 344 阅读 · 0 评论 -
Tomcat源码分析(四)------ Request和Response处理的全过程
从Tomcat源码分析(二)可知,用户的一个请求会经过n个环节的处理,最后到达开发人员写的Servlet,传给Servlet也就是HttpServletRequest和HttpServletResponse,因此可以认为这一路走下来无非就是把最原始的Socket包装成Servlet里用到的HttpServletRequest和HttpServletResponse,只不过每个环节完成的包装功能和部转载 2012-02-29 10:25:36 · 340 阅读 · 0 评论 -
Struts1源码-关于Digester的SetNextRule的一点想法
对于Digester的使用最近才明白一直以来的疑惑,主要是针对SetNextRule的。以下面的部分的xml为例: Xml代码 Server port="8005" shutdown="SHUTDOWN"> Service name="Catalina"> Executor name="tomcatThreadPool" maxThread转载 2012-02-29 10:29:20 · 470 阅读 · 0 评论 -
pushlet 2.0.3 源码分析(服务器端)
----服务器端1 总体架构Pushlet从功能上实现了服务器推技术,整个框架涉及了服务器端以及客户端的部署。服务器端采用servlet技术,监听客户端请求。客户端分为两大类,浏览器以及桌面应用程序。下图描述了系统的整体框架:图1 pushlet总体架构图从图中可以看出服务器端返回响应的出口只有一个,那就是clientAdapter,它只是一个接口,根据不同的客户端类型来产转载 2012-02-29 10:43:15 · 431 阅读 · 0 评论 -
openjweb学习
openjweb是北京托众公司开发的一款开源产品。是一个应用快速开发平台。我关心其中涉及的技术。这个项目有很多可以借签的地方。绝大部分人可能只会一部分,并且在项目中还没有用到。我打算清明前后对它进行一个系统的学习。下面罗列的技术大概可以涵盖web项目绝大多数的技术需求:OpenJWeb 1.9版本集成了以下框架和组件:(1) MVC框架主要采用struts2.0.14+spring原创 2012-04-01 16:46:53 · 873 阅读 · 0 评论