3ewsd 发表于 2012-10-26 09:01:20

Tomcat简介及组成介绍

(若有不足或错误之处还请多指导)

Tomcat 简介

    Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和Java Server Page(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。由于Tomcat本身也内含了一个HTTP服务器,它也可以被视作一个单独的Web服务器。但是,不能将 Tomcat 和 Apache Web 服务器混淆,Apache Web Server 是一个用 C 语言实现的 HTTP web server;这两个 HTTP web server 不是捆绑在一起的。Apache-Tomcat 包含了一个配置管理工具,也可以通过编辑 XML 格式的配置文件来进行配置。

    Tomcat最初是由Sun的软件构架师詹姆斯·邓肯·戴维森开发的。后来他帮助将其变为开源项目,并由Sun贡献给Apache软件基金会。由于大部分开源项目O'Reilly都会出一本相关的书,并且将其封面设计成某个动物的素描,因此他希望将此项目以一个动物的名字命名。因为他希望这种动物能够自己照顾自己,最终,他将其命名为Tomcat(英语公猫或其他雄性猫科动物)。而O'Reilly出版的介绍Tomcat的书籍(ISBN 0-596-00318-8)的封面也被设计成了一个公猫的形象。而Tomcat的Logo兼吉祥物也被设计成了一只公猫。
   
    Tomcat提供了一个Jasper编译器用以将JSP编译成对应的Servlet。
    Tomcat的Servlet引擎通常与Apache或者其他Web服务器一起工作。
    由于Tomcat是使用Java开发的,所以它可以运行在任何一个装有JVM的不同操作系统之上。

Tomcat的逻辑组件

<1>. Server是Tomcat的一个实例,一个Server可以有多个service

<2>. Connector (连接器,可以有多个) : 为了连接不同的请求,会有不同的连接器,如: http connection ,https connection,AJP连接器(Apache Jesery Protocol) 实现apache 与 Tomcat 通信连接的

<3>.Service      让Server的Connector 与引擎关联起来      
       1. 是Server的一个子组件
       2. 关联一个或多个 Connector到某个Engine
       3. 一个Service内部只能有一个引擎,一个引擎可以关联多个Connector   
<4>.一个引擎就是一个Container(容器)   也就是一个独立的web运行环境
       1. 可以包含多个Host
       2. 但要有一个默认的Host(虚拟主机)

<5>.Host
       1. 是引擎的子组件
       2. 可以包含多个Context
       3. 每个Context对应于一个Web应用程序,而每一个Web应用程序需要至少一个web.xml(部署描述符文件)

<6>.Context:上下文
      每一个独立的主机可以包含多个Context

额外的组件:
      valve : 阀门, 能够定义在容器内部,实现将具有某些特征的数据包或报文,对其归类采取一定动作的工具
      Realm : 领域    能够定义在容器内部,为某一个应用程序提供用户认证的机制,用户在访问这个容器时,是需要认证的
<*>关于Tomcat各组件的详细信息可以参考这篇文章:http://www.ibm.com/developerworks/cn/java/j-lo-tomcat1/index.html

Tomcat的目录结构(默认是在/usr/local/ 下)
bin/         
      .bat 是在windows上执行的脚本
      .sh 是在linux上执行的脚本
      bootstrap.jar
      commons-daemon-native.tar.gz
      tomcat-native.tar.gz      或者需要解压出来自己重新编译安装,依赖于apr 和apr-utils,让tomcat支持apr连接器
   
conf/      
      server.xml         当前Tomcat的主配置文件
      web.xml            应用程序的布署描述符文件
      context.xml
      tomcat-user.xml    启用用户认证时用到的文件(定义用户的帐号、角色、密码)
      catalina.policy    引擎策略 ,施加到catalina引擎上的安全策略, 在启动的时候指定 -security 选项
      catalina.properties   运行时候的属性   
      
lib/      公共类      
       catalina.jar      catalina引擎的实现(catalina是tomcat的引擎)
       servlet-api.jar      让tomcat成为servlet容器的一个jar文件
                              
temp/            
webapps/       网页文件存放的默认路径
       host-manager/      虚拟主机定义和管理,基于web的管理接口,可以通过web管理tomcat            
       manager/            布署工具和会话管理工具
       ROOT/                直接被访问的网页文件存放路径
                              
work/      jsp或tomcat 的工作目录   
**************************************************************************
/bin/version.sh         查看tomcat的环境变量及相关属性信息                     CATALINA_BASE      tomcat 实例的运行目录
          在同一个系统上可以启动多个 tomcat 进程,每个tomcat进程称之为一个tomcat的 instance(实例)
         配置tomcat的连接器,让不同的实例使用不同的端口提供服务
         不同实例的运行目录不同,都要有自己的工作目录,配置文件都在实例的运行目录下,每一个实例都要有自己的工作环境
                                                
       CATALINA_HOME      tomcat软件的默认安装路径      
       CATALINA_TMPDIR

/bin/configtest.sh      检查配置

/bin/catalina.sh可以调用其它的脚本version/configtest/start                        
**************************************************************************
以下三个端口都在 server.xml 文件中定义   
                  
   8005    控制sever的一个telnet的控制远程连接口   <Server port="8005" shutdown="SHUTDOWN">   eg: # telnet 127.0.0.1 8005;SHUTDOWN         

   8009    连接器所监听的端口<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />       AJP协议只可以接受前端apache服务器的请求   
                  
   8080    连接器所监听的端口    <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />   HTTP协议可以接受用户的请求
   <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" />   

fjptec-xm 发表于 2013-3-14 01:24:37

真是 收益 匪浅

死siua11 发表于 2013-5-16 02:05:19

啥时硬件也可以COPY就好了!

yinl_li 发表于 2013-5-17 12:29:19

死亡教会人一切,如同考试之后公布的结果——虽然恍然大悟,但为时晚矣~!

liyao20060101 发表于 2013-5-18 18:03:42

只有假货是真的,别的都是假的!

waid 发表于 2013-5-19 22:51:33

写的真的很不错

cheun 发表于 2013-5-21 10:56:23

所有的男人生来平等,结婚的除外。
页: [1]
查看完整版本: Tomcat简介及组成介绍