Tomcat组件梳理—Service组件】的更多相关文章

Tomcat组件梳理-Service组件 1.组件定义 Tomcat中只有一个Server,一个Server可以用多个Service,一个Service可以有多个Connector和一个Container. Server掌握着整个Tomcat的生死大权. Service是对外提供服务的.一个Server可以有多个Service,只不过Cataina中只添加了一个,这一个就代表了Tomcat的所有服务. Connector用于接收请求并将请求封装成Request和Response来具体处理 Con…
1.什么是Service? Service是Android四大组件中与Activity最相似的组件,它们都代表可执行的程序,Service与Activity的区别在于:Service一直在后台运行,它没有用户界面,所以绝不会到前台来.一旦Service被启动起来,它就与Activity一样.它完全具有自己的生命周期. A Service is an application component that can perform long-running operations in the back…
6       Service 6.1            service介绍 6.1.1.            基本介绍 Service是Android四大组件之中的一个(其余的是activity.BroadcastReceiver.Content Provider). Service(服务)是一个没实用户界面的在后台执行执行耗时操作的应用组件.其它应用组件可以启动Service.而且当用户切换到另外的应用场景,Service将持续在后台执行.另外.一个组件可以绑定到一个service并与…
6.1.1.    bindService 由于有前面分析startService的代码实现过程,则对于bindService的代码分析就不用那么具体介绍,在介绍流程的同一时候更关注一些细节上的部分. 首先,bindService也是通过 ContextWrapper.bindService,再到ContextImpl的bindService,然后是bindServiceCommon,须要注意的是,传入的ServiceConnection被转换成IServiceConnection类型, pri…
Tomcat组件梳理-Digester的使用 再吐槽一下,本来以为可以不用再开一个篇章来梳理Digester了,但是发现在研究Service的创建时,还是对Digester的很多接口或者机制不熟悉,简直搞不懂.想想还是算了,再回头一下,把这个也给梳理了.所以此文主要做两件事情, 1.梳理Digester的设计思想和常用接口. 2.梳理Digester对server.xml文件的解析.这么看也算是理论和实际相结合吧. 1.XML文件解析的两种方案. Java解析XML文件有两个主要的思想,分别是:…
Tomcat组件梳理--Server 1.Server组件的定义和功能概述 定义: Server组件用于描述一个启动的Tomcat实例,一个Tocmat被启动,在操作系统中占用一个进程号,提供web服务的功能,那个这个整个服务用Server来表示. 功能 Server作为描述一个Tomcat服务的组件,需要有对应的启动,停止方法,请求接收和处理方法等.所有的方法都是Server组件内部的一个子组件来实现. 总结就是,Server代表Tomcat服务实例,Tomcat所有提供的功能,都由Serve…
Tomcat组件梳理--Catalina 1.定义和功能 Catalina是Tomcat的核心组件,是Servlet容器,Catalina包含了所有的容器组件,其他模块均为Catalina提供支撑.通过Coyote模块提供连接通信,Jasper模块提供JSP引擎,Naming提供JNDI服务,Juli提供日志服务.结构如下: 主要的功能包括接收请求,处理请求,返回结果.但是这些具体的实现是在catalina里面的子容器里面,我们在对应的文章里面讲解,此处聚焦在Catalina的源代码提供的功能上…
Tomcat组件梳理-Bootstrap启动器 一开始是直接从Server开始做梳理的,但是发现有很多东西是从Catalina传输过来的,Catalina又是从Bootstrap启动的,所以还是回过头来从Bootstrap开始梳理吧. 1.定义和功能 Bootstrap是Tomcat的入口类,main方法也在这个类中,脚本启动往往也是直接调用这个类. 该类作为启动整个Tomcat的启动器,有自己的一些特点,该类主要操作对象是Catalina类,但是这两个又是解耦的,解耦的方法是通过反射去获取Ca…
之前的项目还是有些问题的,例如 1 只能有一个连接器,只能处理http请求,无法添加另外一个连接器用来处理https. 2 对容器的关闭只能是粗暴的关闭Bootstrap. 服务器组件 org.apache.catalina.Server接口的实例用来表示Catalina的整个servlet引擎. 我们使用Server就是因为,它用一种优雅的方式来启动/关闭整个系统. 下面是启动和停止机制是如何工作的.当服务器启动的时候,它启动它内部的所有组件.然后无限期的等待关闭命令,如果你想要关闭系统,发送…
前言 Tomcat的前身为Catalina,而Catalina又是一个轻量级的Servlet容器.在美国,catalina是一个很美的小岛.所以Tomcat作者的寓意可能是想把Tomcat设计成一个优雅美丽且轻量级的web服务器.Tomcat从4.x版本开始除了作为支持Servlet的容器外,额外加入了很多的功能,比如:jsp.el.naming等等,所以说Tomcat不仅仅是Catalina. 既然Tomcat首先是一个Servlet容器,我们应该更多的关心Servlet. 那么,什么是Ser…