Tomcat详解

service.xml 文件结构:
Server元素:代表整个Servlet容器组件。
service 包含一个Engine元素多个Connector元素,这些Connector共享一个Engine
Engine 每个Service只能有一个,处理所有Connector元素接收到的客户请求。
Host元素:在Engine里可以有多个Host元素,每个Host定义了一个虚拟主机,可以包含一个或多个web应用。
Context : 使用最频繁,每个Context代表了运行在虚拟主机上的单个Web应用,可以有多个。

Tomcat工作模式:
1.在java虚拟机中独立运行,Tomcat可看做是能运行servlet的独立Web服务器。
2.Tomcat运行在其他Web服务器进程中,不直接与客户端通讯,仅仅处理其他服务器处理servlet的容器,通过JNI与其他服务器通讯。
3.与其他服务器独立运行,也不直接与客户端通讯,通过IPC与其他服务器通讯。

Tomcat6.0默认采用Eclipse提供的JDT编译jsp,也可以通过JDK自己编译。

目录结构:
/bin     /conf     /lib     /logs     /webapps    /work 运行时产生的工作文件放在此目录,如默认Tomcat把编译的jsp放在此目录。
lib中的jar包可被所有web应用访问。

web应用查找class文件的方式,WEB-INF/classes--->WEB-INF/jar   ---> lib class-->lib jar

在Tomcat5.0中 可以在server/lib  common/lib  shared/lib 中放jar包

Context属性:
path :指定访问该Web应用的入口。如果设为path=”“ 代表默认应用。
docBase  : 指定web应用文件绝对路径。可以使是相对Host appBase的路径,如果指定开放目录,则指定开放目录根目录,如    果Web应用是war文件,则指定此文件。
className :实现Context组件的Java类的名字,这个类必须实现org.apache.catalina.Context接口。默认值是org.apache.catalina.core.StandardContext.
reloadable : 监视WEB-INF/classes WEB-INF/lib 下的变化,有变化立即更新。设为false降低负载。

专有属性:
cachingAllowed   : 缓存
cacheMaxSize   : 缓存大小,单位K ,默认10M
workDir : 工作目录,默认work
uppackWar  : 默认true,表示把war文件解压开后在运行,设为false直接运行war文件。

context查找过程;5种方式。单个应用建议适用3、4配置,如更新Context,自动重新加载该应用。
1.tomcat/conf/context.xml 查找context元素,适用于所有Web应用。
2.tomcat/conf/[enginename]/[hostname]/context.xml.default  ,使用与当前虚拟机的所有web应用,如:
   tomcat/conf/Cataline/localhost/context.xml.default
3.tomcat/conf/[enginename]/[hostname]/[contextPath].xml 具体一个应用有效。
4.到web应用的META-INF/conf/context.xml 查找Context元素,适用当前应用。
5.到tomcat/conf/service.xml文件中的Host元素中查找<Context>子元素,适用单个应用。不建议适用。

Host属性;
一个Engine下可以有多个Host 代表此机器上有多个虚拟主机,既多个域名。
name : 主机名
className :指定虚拟主机java类的名字,必须实现org.apache.cataline.Host接口,默   认  org.apache.catalina.core.StandardHost
appBase : 虚拟主机的目录。绝对目录或相对tomcat安装目录的路径。
autoDeploy :如设为true监视appBase下的文件,如有有新应用加进来,则发布这个应用。
deployOnStartup : 如果设为true,Tomcat启动时发布所有应用,没有应用没有Context元素,提供一个默认的。

专有属性:
uppackWARS : 自动解压war文件
workDir : 工作目录
deployXML :是否解析应用中的Context属性。

猜你喜欢

转载自zhaoxiaoboblogs.iteye.com/blog/2109129