精通 Java Web 动态图表编程
bin
存放启动和关闭
tomcat
脚本
续表
目 录 名 简 介
conf
包含不同的配置文件,
server.xml
(
Tomcat
的主要配置文件)和
web.xml
work
存放
jsp
编译后产生的
class
文件
webapps
存放应用程序示例,将要部署的应用程序会放到此目录
logs
存放日志文件
其中最重要的是位于conf子目录下的两个配置文件——server.xml和web.xml。
server.xml是一个xml格式的配置文件,它决定了Tomcat服务器运行的各项参数。
xml文档由一系列的标记及元素组成。
server.xml的组织结构如下:
(1)顶级元素——<Server>是整个配置文件的根元素。Server元素代表整个Catalina
servlet容器。因此,它必须是conf/server.xml配置文件中的最外层元素。其属性代表了整个
s er v l e t容 器 的特 性 , 而 < S e r vi c e>代 表 与一 个 引 擎 ( E ng i ne) 相 关联 的 一 组 连 接 器
(Connectors);也就是说,Server包含了一个或者多个连接器(Connectors),以及一个
引擎(Engine),它负责处理所有 Connector所获得的客户请求。
(2)连接器(Connectors)——代表外部客户之间的接口。外部客户向特定的
Service发送请求,并接收响应。一个Connector将在某个指定端口上侦听客户请求,并将
获得的请求交给Engine来处理,从Engine处获得回应并返回客户。Tomcat有两个典型的
Connector,一个直接监听来自browser的http请求,一个监听来自其他Web Server的请求:
Coyote Http/1.1 Connector在端口8080处侦听来自客户browser的http请求。
C o y o t e J K 2 C o n n e c t o r在 端 口 8 0 0 9处 侦 听 来 自 其 他 We b S e r v e r( A p a c h e) 的
servlet/jsp代理请求。
(3)容器——代表一些组件,包括:引擎(Engine)、 Host和Context。这些组件的
功能是处理进来的请求,生成对应的响应。
引擎(Engine)处理一个Service的所有请求。Engine下可以配置多个虚拟主机
(Virtual Host),每个虚拟主机都有一个域名。当 Engine获得一个请求时,它把
该请求匹配到某个Host上,然后把该请求交给该Host来处理。Engine有一个默认虚
拟主机,当请求无法匹配到任何一个Host上的时候,将交给该默认Host来处理。
Host处理一个特定虚拟主机的所有请求。它代表一个虚拟主机,每个虚拟主机和某
个网络域(Domain Name)相匹配。每个虚拟主机下都可以部署(deploy)一个或
者多个Web应用程序(Web App),每个应用程序对应于一个 Context和一个
Context path。当Host获得一个请求时,将把该请求匹配到某个Context上,然后把
该请求交给该Context来处理。匹配的方法是“最长匹配”,所以一个 path值为""的