安装完Tomcat 6.0 后,在Tomcat 6.0 的安装目录下将会出现 7 个子文件夹,对于初学者而言,了解这 7 个文件夹的具体用途是很有必要的。在以后诸如部署Web应用、配置虚拟主机等过程中会经常与这几个文件夹打交道。
表2-1 描述了这 7 个子文件夹的具体作用。
表2-1 Tomcat 6.0 的目录结构
server.xml是Tomcat的重要配置文件,平时所说的Tomcat的配置(如虚拟主机配置、连接端口设置等)其实就是指配置server.xml,server.xml中的元素大体可分为 4 类。
·顶层类元素:位于整个配置文件的顶层, 主要有<Server>元素与<Service>元素。
·连接器类元素:它是客户和服务(容器类元素)间的通信接口,负责接收客户请求与向客户返回的响应结果,主要有<Connector>元素。
·容器类元素:负责处理客户请求并且生成响应结果,主要有<Engine>元素、 <Host>元素与<Context>元素。
·嵌套类元素:可以加入到容器中的元素,主要有<logger>元素、<Valve>元素、<Realm>元素等。
server.xml的基本元素层级关系为
上述这些元素的协作关系如图2-13所示。
图2-13 server.xml中各元素协作关系
server.xml各基本元素的属性说明见表2-2。
表2-2 server.xml基本元素说明
根据Java EE规范要求,Java Web应用应具有固定的目录结构,通常要建立一个Web应用的根目录,应用程序的所有内容均置于其下。假如有一名为TestApp的Web应用,其目录结构见表2-3。
表2-3 Web应用的目录结构
除了上表所述的几个目录之外,我们可以根据自己的需要在Web应用的根目录下放置若干个自定义的目录,如CSS、Images、JS等。
Web应用的发布描述文件web.xml是Web应用的主要配置文件,当Tomcat服务器加载Web应用时会根据web.xml的配置内容进行相应的加载,该文件通常存放在应用程序的WEB-INF文件夹下。现将web.xml的基本元素说明如下:
注:在web.xml中,servlet、servlet-mapping、filter、filter-mapping、init-param、listener、taglib、welcome-file及error-page元素可以出现一次或多次,而像web-app、jsp-config、welcome-file-list与session-config元素通常最多只出现一次。
在Tomcat安装过程中可以更改Tomcat的默认访问端口,如果在安装过程中尚未修改,而在以后的运行过程中想将其默认的 8080 更改的话,其实通过修改Tomcat配置文件server.xml中Connector元素的port属性值即可,如:
虚拟主机是一种在一个Web应用服务器上服务多个域名的机制,对每个域名而言,都好像独享了整个主机。目前Internet上的大多数中小型网站均采用虚拟主机来实现。在Tomcat中配置虚拟主机也很简单,只要在server.xml中添加一个Host元素即可。不过,有一点需要注意,每一个Host元素必须包括一个或多个context元素,且所包含的context元素中必须有一个是默认的context,这个默认的context的访问路径应该设置为空,例如:
要将开发好的Web应用部署到Tomcat服务器上,最简单的方法就是将Web应用文件夹或WAR文件复制到Tomcat的webapps文件夹下,启动Tomcat服务后,可通过“http://服务器IP:端口/应用名称”的形式访问,如:http://localhost:8080/TestApp。
对于那些需要配置访问URL或指定Web应用文件夹路径的情况而言,可在server.xml中的Host元素下添加一个Context元素来实现,如:
保存修改过的server.xml文件后,重启Tomcat服务后,即可通过http://localhost:8080/ test来访问TestApp应用了。