假设你已将Tomcat解压你已得到下列目录结构:
目录名描述
bin
包含启动/关闭脚本
conf
包含不同的配置文件
包括 serverxml(Tomcat的主要配置文件)和为不同的Tomcat配置的web应用设置缺省值的文件webxml
doc
包含各种Tomcat文档
lib
包含Tomcat使用的jar文件unix平台此目录下的任何文件都被加到Tomcat的classpath中
logs
Tomcat摆放日志文件的地方
src
ServletAPI源文件先别高兴这些只有些必须在Servlet容器内实现的空接口和抽象类
webapps
包含web项目示例
此外你可以Tomcat会创建如下目录:
work
Tomcat自动生成放置Tomcat运行时的临时文件(如编译后的JSP文件)如在Tomcat运行时删除此目录JSP页面将不能运行中国自学编程网
classes
你可以创建此目录来添加一些附加的类到类路径中任何你加到此目录中的类都可在Tomcat的类路径中找到自身
Tomcat的配置文件
Tomcat的配置基于两个配置文件:
serverxml Tomcat的全局配置文件
webxml 在Tomcat中配置不同的关系环境
serverxml
serverxml是Tomcat的主配置文件完成两个目标:
提供Tomcat组件的初始配置
说明Tomcat的结构含义使得Tomcat通过实例化组件完成起动及构建自身 如在serverxml所指定的
serverxml种的重要元素:
元素及其描述
Server
serverxml文件中最重要的元素Server定义了一个Tomcat服务器一般你不用对他担心太多Server元素能包含Logger和ContextManager元素类型
Logger
此元素定义一个Logger对象每个Logger都有一个名字去标识也有一个纪录Logger的输出和冗余级别(描述此日志级别)和包含日志文件的路径通常有servlet的Logger(ServletContextlog()处)JSP和Tomcat运行时的Logger ContextManager
ContextManager说明一套ContextInterceptor RequestInterceptor Context和他们的Connectors的配置及结构ContextManager有几个随同提供的特性:
用来纪录调试信息的调试级别
webapps/conf/logs/和所有已定义的环境的基本位置用来使Tomcat可以在TOMCAT_HOME外的其他目录启动
工作目录的名字
ContextInterceptor&RequestInterceptor
这些侦听器(interceptors)侦听具体发生在ContextManager中的事件例如ContextInterceptor侦听Tomcat的启动及终止事件RequestInterceptor监视在它服务过程中用户请求需要通过的不同阶段Tomcat的管理员不必知道太多关于侦听器的知识;另外开发者应该知道这是如何在Tomcat中实现一个全局型的操作(例如安全性及每个请求日志)
Connector
Connector表示一个到用户的联接不管是通过web服务器或直接到用户浏览器(在一个独立配置中)Connector负责管理Tomcat的工作线程和 读/写 连接到不同用户的端口的 请求/响应Connector的配置包含如下信息:
句柄类
句柄监听的TCP/IP端口
句柄服务器端口的TCP/IP的backlog
Context
每个Context提供一个指向你放置你Web项目的Tomcat的下属目录每个Context包含如下配置 [Page]
Context放置的路径可以是与ContextManager主目录相关的路径
纪录调试信息的调试级别
可重载的标志开发Servlet时重载更改后的Servlet这是一个非常便利的特性你可以调试或用Tomcat测试新代码而不用停止或重新启动Tomcat要打开重载把reloadable设为真即可这虽花费时间但可检测所发生的变化;更重要的事鑒于在一个装载类对象装入一个新的servlet时类装载触发器可能会掷出一些错误为避免这些问题你可以设置可重载为假这将停止重载功能
webxml
Tomcat可以让用户通过将缺省的webxml放入conf目录中来定义所有关系环境的webxml的缺省值建立一个新的关系环境时Tomcat使用缺省的webxml文件作为基本设置和应用项目特定的webxml(放在应用项目的WEBINF/webxml文件)来覆盖这些缺省值