Tomcat简介

 

  1. 什么是Tomcat

Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持。由于Tomcat本身也内含了一个HTTP服务器,它也可以被视作一个单独的Web服务器。

 

2. Tomcat架构与术语

上图是Tomcat架构图,其中的术语解释如下

  • Server: Server代表整个Servlet容器,是Tomcat的顶级元素,可以包含一个或多个services元素。
  • Service: Service代表了一个或多个Connector元素,这些Connector共享一个Engine元素。
  • Connector:Connector用来处理与客户端的通信,接受请求并返回结果。包含HTTP connector和AJP connector。
  • Engine:Engine用来接收并处理从Connector发来的请求,并将处理结果返回Connector。一个Engine可以包含一个或多个Host。
  • Host:Host代表一个虚拟主机,每个Host可以包含一个或多个Web应用。
  • Context:Context代表了一个web应用,每个web应用基于一个war文件。
<Server>
    <Listener />
    <GlobaNamingResources>
    </GlobaNamingResources
    <Service>
        <Connector />
        <Engine>
            <Logger />
            <Realm />
               <host>
                   <Logger />
                   <Context />
               </host>
        </Engine>
    </Service>
</Server>

上图为server.xml的结构,从中可以看出tomcat架构的层次关系

 

 3. Tomcat 目录结构 

|-- bin
|   |-- bootstrap.jar tomcat启动时所依赖的一个类,在启动tomcat时会发现Using CLASSPATH: 是加载的这个类
|   |-- catalina-tasks.xml 定义tomcat载入的库文件,类文件
|   |-- catalina.bat
|   |-- catalina.sh                  tomcat单个实例在Linux平台上的启动脚本
|   |-- commons-daemon-native.tar.gz            jsvc工具,可以使tomcat已守护进程方式运行,需单独编译安装
|   |-- commons-daemon.jar            jsvc工具所依赖的java类
|   |-- configtest.bat
|   |-- configtest.sh         tomcat检查配置文件语法是否正确的Linux平台脚本
|   |-- cpappend.bat
|   |-- daemon.sh tomcat已守护进程方式运行时的,启动,停止脚本
|   |-- digest.bat
|   |-- digest.sh
|   |-- setclasspath.bat
|   |-- setclasspath.sh
|   |-- shutdown.bat
|   |-- shutdown.sh tomcat服务在Linux平台下关闭脚本
|   |-- startup.bat
|   |-- startup.sh          tomcat服务在Linux平台下启动脚本
|   |-- tomcat-juli.jar
|   |-- tomcat-native.tar.gz  使tomcat可以使用apache的apr运行库,以增强tomcat的性能需单独编译安装
|   |-- tool-wrapper.bat
|   |-- tool-wrapper.sh
|   |-- version.bat
|   |-- version.sh 查看tomcat以及JVM的版本信息
|-- conf 顾名思义,配置文件目录
|   |-- catalina.policy 配置tomcat对文件系统中目录或文件的读、写执行等权限,及对一些内存,session等的管理权限
|   |-- catalina.properties 配置tomcat的classpath等
|   |-- context.xml tomcat的默认context容器
|   |-- logging.properties 配置tomcat的日志输出方式
|   |-- server.xml        tomcat的主配置文件
|   |-- tomcat-users.xml        tomcat的角色(授权用户)配置文件
|   |-- web.xml tomcat的应用程序的部署描述符文件
|-- lib tomcat需要使用的java库文件
|-- logs 日志文件默认存放目录
|-- temp
|-- webapps           tomcat默认存放应用程序的目录,好比apache的默认网页存放路径是/var/www/html一样
|   |-- docs tomcat文档
|   |-- examples                     tomcat自带的一个独立的web应用程序例子
|   |-- host-manager              tomcat的主机管理应用程序
| |   |-- META-INF           整个应用程序的入口,用来描述jar文件的信息
| |   |   -- context.xml     当前应用程序的context容器配置,它会覆盖tomcat/conf/context.xml中的配置
| |   |-- WEB-INF  用于存放当前应用程序的私有资源
| |   |   |-- classes  用于存放当前应用程序所需要的class文件
|       |   | |-- lib          用于存放当前应用程序锁需要的jar文件
| |   |   -- web.xml 当前应用程序的部署描述符文件,定义应用程序所要加载的serverlet类,以及该程序是如何部署的
|   |-- manager                  tomcat的管理应用程序
|   |-- ROOT              指tomcat的应用程序的根,如果应用程序部署在ROOT中,则可直接通过http://ip:port 访问到
|-- work 用于存放JSP应用程序在部署时编译后产生的class文件

       引用自:http://grass51.blog.51cto.com/4356355/1123400


 

 

posted @ 2017-10-11 07:10  LeeZee  阅读(2234)  评论(0编辑  收藏  举报