Tomcat的结构和元素参数

来源:互联网 发布:力帆租车软件叫什么 编辑:程序博客网 时间:2024/06/07 02:36
Tomcat的元素结构

1、Tomcat由一系列可配置的组件构成,其核心组件为Servlet容器组件,他是所有其他Tomcat组件的顶级容器;
2、Tomcat的每个组件都可以在【<CATALINA_HOME>/conf/server.xml】文件中进行配置,每个Tomcat组件在server.xml中对应一种配置元素,以下是一个server.xml的典型结构:
配置文件中的元素可以分为以下4类:
1)顶层类元素:包括<Server><Service>;
  • <Server>:代表整个Servlet容器组件,是Tomcat的顶层元素,可以包含一个或多个<Service>;
  • <Service>:包含一个<Engine>和一个或多个<Connector>,这些<Connector>共享一个<Engine>;
2)连接器类元素:为<Connector>;
  • <Connector>:代表介于客户和服务器之间的通信接口,负责将客户的请求发送给服务器,并将服务器的响应结果返回给客户;
3)容器类元素:包含4类<Engine><Host><Context><Cluster>
  • <Engine>:处理同一个<Servcie>中所有的<Connector>接收到的客户请求;
  • <Host>:每一个<Engine>可以包含多个<Host>,每个<Host>定义一个虚拟主机,它们包含一个或多个Web应用;
  • <Context>:使用最为频繁的元素,每个<Context>代表运行在虚拟主机上的单个Web应用,一个<Host>可以包含多个<Context>;
4)嵌套类容器
代表可以嵌入到容器中的组件,如<Value>和<Realm>等;



Tomcat 的目录结构
以下是Tomcat安装目录下的子目录将其功能
/bin存放启动关闭Tomcat控制等脚本/conf存放Tomcat各种配置文件,其中比较常用的是server.xml/lib
存放Tomcat服务器及所有Web应用都可以访问的JAR文件/logs存放Tomcat的日志文件/webapps在Tomcat上发布JavaWeb程序时,默认把Web应用程序存放在此目录下/workTomcat的工作目录,Tomcat把运行时一些工作文件存放到此目录下,如默认情况下,Tomcat把JSP编译的Servelet类文件存放到此目录下
一个典型的 Java Web 应用的目录结构(存放在webapps根目录下,假设项目名为demoApp)
1
/webapps
2
   |—— demoApp
3
        |—— src 
4
             |——myPackage
5
                   |——DispatcherServlet.java
6
                   |——HelloTag.java
7
        |—— WEB-INF
8
              |—— web.xml
9
              |—— mytaglib
10
              |—— classes
11
                   |——myPackage
12
                         |——DispatcherServlet.class
13
                         |——HelloTag.class
14
              |—— lib
15
        |—— login.html
16
        |—— hello.jsp
/demoAppWeb 应用的根目录,所有的 JSP、HTML 文件都存放在该目录下
/demoApp/WEB-INF存放 Web 应用的配置文件 web.xml/demoApp/WEB-INF/classes存放各种 .class 文件,Servelet类的 .class 文件也存放在该目录下/demoApp/WEB-INF/lib存放 Web 应用所需的各种 JAR 文件(如JDBC驱动的JAR文件等)



Tomcat 主要元素的参数配置

<Context>元素
<Context>代表虚拟机上的单个Web应用的信息,主要的属性如下:
path指定访问Web应用的URL入口docBase指定Web应用的文件路径,可以使用绝对路径,也可以使用相对于<Host>的appBase属性的相对路径;
如果Web应用为开放式,则指向Web应用的根目录;如果是WAR文件,则指向该WAR文件所在路径;
className指定实现Context组件的Java类的名称,该类必须实现 org.apache.catalina.Context接口,
默认值为 org.apache.catalina.core.StandardContext;
reloadable该属性如果为true,Tomcat服务器会在运行状态下监视 WEB-INF/classes 和WEB-INF/lib 的 class文件改动,如果有文件更新 ,服务器会自动重新加载Web程序;
默认值为false,开发调试阶段一般设置为true,生产阶段设置为false,减低Tomcat运行负荷;
 标准Context组件还拥有以下属性:
cachingAllowed值为true表示启用静态文件缓存,默认值为true;cacheMaxSize设置静态资源的缓存的最大容量,以kb为单位;
默认值为 10240(10240KB,10M)
workDir指定Web应用的工作目录,Tomcat 运行时会与该Web应用先关的临时文件存放在该目录下;uppackWork值如果为true,表示Web应用的WAR文件展开为开放式目录结构后再运行,值为false则直接运行WAR文件,默认值为true;

<Host>元素
<Host>元素代表虚拟主机信息配置,主要的属性如下:
name
指定虚拟主机名className指定实现虚拟主机的Java类的名称,该Java类必须实现 org.apache.catalina.Host接口,
默认值为 org.apache.catalina.core.StandradHost ;
appBase指定虚拟主机的目录,可以指定绝对目录,也可以指定相对于<CATALINA_HOME>的相对路径,
默认值为<CARALINA_HOME>/webapps
autoDeploy如果该项为true,Tomcat服务器会监视appBase下的文件,当有新的文件加进来时,会自动发布该Web应用deployOnStartup为true时,Tomcat会自动发布appBase下的所有应用,当该Web应用没有相应的<Context>元素时,Tomcat会指定一个默认的Context组件,默认值为true;
标准Host组件还拥有以下属性:
uppackWARS如果为true,表示将appBase下的Web应用的WAR文件展开为开放式目录结构再运行workDir表示虚拟机的工作目录,默认值为<CATALINA_HOME>/work,如果<Context>元素也设置了该属性,则<Context>的workDir属性覆盖<Host>的workDir属性;deployXML如果为false,Tomcat不会解析Web应用中用于设置Context元素的META-INF/context.xml元素
















原创粉丝点击