[b]CATALINA_HOME[/b]
开始讨论Tomcat目录结构的地方是默认的安装目录,通常叫做CATALINA_HOME。如果你安装了Tomcat,你将会有个环境变量指向这个目录。让我们来看bin目录和它包含的所有脚本。
[b]windows可执行文件Tomcat6[/b]
如果你安装了NT服务你可以使用可执行文件tomcat6运行服务。当你安装Tomcat的时候,你可以将其安装为服务。
注意可执行文件的名字必须与你启动的服务的名字相同。因此,如果你安装的服务名字是TomcatServ,你必须重命名文件为TomcatServ.exe来启动这个服务。
[b]windows可执行文件tomcat6w[/b]
你能使用可执行文件tomcat6w去运行tomcat属性项,前提是你作为服务安装了Tomcat。你能使用它开始和停止服务,并且设置一些选项。
注意可执行文件的名字必须与你启动的服务的名字相同。因此,如果你安装的服务名字是TomcatServ,你必须重命名文件为TomcatServw.exe来启动这个服务。
[b]bin目录[/b]
bin目录包含了许多的脚本(windows中叫做批处理文件,但是这里为了简化使用了脚本这个词汇),用来在不同的模式中启动和停止Tomcat,大量的工具类,和一些基于windows的可执行文件。Tomcat先前的版本使用一些不同的脚本来启动和停止Tomcat。现在的版本,包含以下可执行文件。
[b]conf 目录[/b]
目录conf中包含以下Tomcat配置文件:
1、当Tomcat在安全的管理员上下文运行时,catalina.policy为catalina设置了必要的许可信息
2、catalina.properties设置了各种需要加载的类的位置。默认是common,server和share目录以及它们的子目录。文件中的设置确定了哪个类可以被整个Web应用获得,哪个类可以被Tomcat取得。换句话说,这些设置配置了Tomcat和所有Web应用的classpath。
3、context.xml设置了个体上下文的默认值。
4、loggin.properties用来管理Tomcat服务器自身的默认日志级别。
5、server.xml是Tomcat主要的配置文件。你可以使用它配置从shuntdown命令到logging,filtering,同其他Web服务器的链接,服务器运行的端口和主机,以及每个Web应用文件的位置
6、tomvat-users.xml对于受管容器认证的默认数据库
7、web.xml是所有的web应用的部署描述符。Tomcat在处理服务器的web应用前处理它。
[b]logs目录[/b]
logs目录是应用日志文件的默认位置。
你可以安排整理任务,确保日志文件不要超出日志目录的大小不要超出控制。
[b]lib目录[/b]
此目录包含了Tomcat需要的所有JAR文件
[b]temp目录[/b]
Tomcat使用临时目录存储临时文件
[b]work目录[/b]
该目录存放JSP代码,JSP已经被转化成servlet代码的。一旦JSP页面是被访问,Tomcat保存编译过的servlet
[b]webapp目录[/b]
webapp目录是Tomcat的web应用的默认存放位置。你能改变这个位置,并且它推荐你这样做,因为这样可以分离应用文件。另外,Tomcat的安装目录是仅仅能被管理员read/write访问的,因此为了安全性,另外的用户仅仅能访问被分离出的webapps文件夹。
你使用打包或者不打包的格式部署web应用,通过替换webapp文件夹下的应用,并且他们会在下次服务器启动的时候自动部署。
[b]理解web应用的架构[/b]
web应用是web资源的集合,例如JSP页面、HTML页面、servlet和配置文件等,这些文件按照servlet规范的分层方式组织。你有两种方法组织web应用:packed和unpacked。packed的形式叫做WAR文件,unpacked的形式是存储在文件系统中的目录的集合。
unpacked的格式对于开发人员来说是非常便利的,在应用是被开发和调试的时候,它允许开发人员去替换各个文件
然而,在部署的环境中,提供一个能自动部署的单一文件经常是更方便的。这降低了替换文件和设置系统资源的部署过程。一旦服务器是被是被引导,Tomcat也能自动地扩展应用。WAR文件的自动扩展是作为server.xml中元素<host>的一部分来配置的。
[b]Web应用上下文[/b]
每个Web应用都有与之对应的上下文组件,你能分配给每个应用一个context path。默认的context叫做ROOT,与之对应的是没有另一些congtext信息的服务器名字。例如,R在你的本地机器上的名字是ROOT的web应用将会对应的URL是http://localhost:8080。如果你已经为你的服务器配置了DNS,它也许能是通过诸如www.companyname.com来访问。
用户通过请求相对于服务器的contxt来访问web应用。例如,用户能通过http://localhost:8080/manager来访问名字是manager的web应用。
你放在webapps文件夹中的应用是用它们在目录中的名字命名的。因此你能访问目录tomcat-docs中的wen应用,使用以下URL:http://localhost:8080/tomcat-docs。服务器上的每个应用都是使用它的名字来识别的,用户能根据URL中在web应用名字后边的其余部分来访问资源。
然而,安装是一个小的问题。如果名字是ROOT的web应用包含了同web应用同名的子目录,该应用将不会正常工作。例如,以下是引起混乱的两个web应用:
webapps/ROOT/tomcatBook/index.html
webapps/tomcatBook/index.html
这种情况下,http://locahost:8080/tomcatBook将会映射到所有的文件并且引起混乱。Tomcat显示名字是tomcatBook的web应用中的index.html页面,而忽略名字是ROOT的web应用的中的文件夹。如果用户期望访问ROOT中的版本,他们将会是失望的。
[b]WEB-INF目录[/b]
servlet规范解决你怎么样将web应用划分为私有区域和公有区域。你存储私有资源在叫做WEB-INF的目录中,该目录在web应用的根目录中。这是你存储所有的web应用规范的配置文件,应用编译后的类文件和web应用的工具。用户也许仅仅能间接的访问这些资源(例如,通过servlet-mapping)。
WEB-INF有大量的具体的子目录,你存储了许多具体的文件在该目录中,例如标签文件和标签库描述文件。这些是为了servlet或者JSP页面在合适的规范中定义的。
Tomcat中,类文件在classes目录中,JAR文件在lib目录中。tld是一个特别目录,用来存放tag文件,这是JSP2.0规范的一部分。
[b]META-INF[/b]
当web应用以war文件格式部署时,META-INF目录是被放置在web应用的根目录。这是你防止tag的TLD和tag文件的地方,因此使用独特的URI可以发现它们。如果没有上下文的XML文件,然后你也能放一个类似的文件在该目录中。
[b]总结[/b]
本章概括了Tomcat安装目录的内容,它的子目录,和它包含的脚本。这条信息是全部的,你需要管理Tomcat的操作,从启动到关闭。
这一章也简单的描述了web应用的结构。
相关资源:pro apache tomcat 6.