CATALINA_HOME
开始讨论Tomcat目录结构的地方是默认的安装目录,通常叫做CATALINA_HOME。如果你安装了Tomcat,你将会有个环境变量指向这个目录。让我们来看bin目录和它包含的所有脚本。
windows可执行文件Tomcat6
如果你安装了NT服务你可以使用可执行文件tomcat6运行服务。当你安装Tomcat的时候,你可以将其安装为服务。
注意可执行文件的名字必须与你启动的服务的名字相同。因此,如果你安装的服务名字是TomcatServ,你必须重命名文件为TomcatServ.exe来启动这个服务。
windows可执行文件tomcat6w
你能使用可执行文件tomcat6w去运行tomcat属性项,前提是你作为服务安装了Tomcat。你能使用它开始和停止服务,并且设置一些选项。
注意可执行文件的名字必须与你启动的服务的名字相同。因此,如果你安装的服务名字是TomcatServ,你必须重命名文件为TomcatServw.exe来启动这个服务。
bin目录
bin目录包含了许多的脚本(windows中叫做批处理文件,但是这里为了简化使用了脚本这个词汇),用来在不同的模式中启动和停止Tomcat,大量的工具类,和一些基于windows的可执行文件。Tomcat先前的版本使用一些不同的脚本来启动和停止Tomcat。现在的版本,包含以下可执行文件。
conf 目录
目录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应用前处理它。
logs目录
logs目录是应用日志文件的默认位置。
你可以安排整理任务,确保日志文件不要超出日志目录的大小不要超出控制。
lib目录
此目录包含了Tomcat需要的所有JAR文件
temp目录
Tomcat使用临时目录存储临时文件
work目录
该目录存放JSP代码,JSP已经被转化成servlet代码的。一旦JSP页面是被访问,Tomcat保存编译过的servlet
webapp目录
webapp目录是Tomcat的web应用的默认存放位置。你能改变这个位置,并且它推荐你这样做,因为这样可以分离应用文件。另外,Tomcat的安装目录是仅仅能被管理员read/write访问的,因此为了安全性,另外的用户仅仅能访问被分离出的webapps文件夹。
你使用打包或者不打包的格式部署web应用,通过替换webapp文件夹下的应用,并且他们会在下次服务器启动的时候自动部署。
理解web应用的架构
web应用是web资源的集合,例如JSP页面、HTML页面、servlet和配置文件等,这些文件按照servlet规范的分层方式组织。你有两种方法组织web应用:packed和unpacked。packed的形式叫做WAR文件,unpacked的形式是存储在文件系统中的目录的集合。
unpacked的格式对于开发人员来说是非常便利的,在应用是被开发和调试的时候,它允许开发人员去替换各个文件
然而,在部署的环境中,提供一个能自动部署的单一文件经常是更方便的。这降低了替换文件和设置系统资源的部署过程。一旦服务器是被是被引导,Tomcat也能自动地扩展应用。WAR文件的自动扩展是作为server.xml中元素<host>的一部分来配置的。
Web应用上下文
每个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中的版本,他们将会是失望的。
WEB-INF目录
servlet规范解决你怎么样将web应用划分为私有区域和公有区域。你存储私有资源在叫做WEB-INF的目录中,该目录在web应用的根目录中。这是你存储所有的web应用规范的配置文件,应用编译后的类文件和web应用的工具。用户也许仅仅能间接的访问这些资源(例如,通过servlet-mapping)。
WEB-INF有大量的具体的子目录,你存储了许多具体的文件在该目录中,例如标签文件和标签库描述文件。这些是为了servlet或者JSP页面在合适的规范中定义的。
Tomcat中,类文件在classes目录中,JAR文件在lib目录中。tld是一个特别目录,用来存放tag文件,这是JSP2.0规范的一部分。
META-INF
当web应用以war文件格式部署时,META-INF目录是被放置在web应用的根目录。这是你防止tag的TLD和tag文件的地方,因此使用独特的URI可以发现它们。如果没有上下文的XML文件,然后你也能放一个类似的文件在该目录中。
总结
本章概括了Tomcat安装目录的内容,它的子目录,和它包含的脚本。这条信息是全部的,你需要管理Tomcat的操作,从启动到关闭。
这一章也简单的描述了web应用的结构。
分享到:
相关推荐
13. **与Java EE集成**:探讨如何在Tomcat上运行完整的Java EE应用程序,尽管Tomcat是轻量级的应用服务器,但可以通过添加第三方库来实现部分Java EE功能。 通过深入阅读《Pro Apache Tomcat 6.pdf》这本书,你将...
- 如果需要更高级的日志功能,比如日志滚动或日志格式化,可以使用第三方日志库如Log4j或Logback替换JUL。这通常涉及到修改`catalina.properties`中的`logging.properties`路径,以及在类路径中添加相应的库。 7. ...
标题中的“web服务器resin 4-pro版”指的是Resin服务器的第4个主要版本的专业版。这个版本着重于性能提升和稳定性增强,同时保持与Apache和IIS等其他知名Web服务器的集成能力。这意味着用户可以在同一个环境中灵活地...
首先,你需要从官方网站或可信的第三方源获取MyEclipse的安装包,例如`myeclipse-pro-2013-SR1-offline-installer-windows.exe`,这是针对Windows系统的离线安装版本。 2. **启动安装** 双击下载好的安装文件,...
Apache认为甲骨文限制第三方使用TCK来验证其Java实现与标准的兼容性,这不利于Java生态的开放和健康发展。Apache的这一举动影响深远,包括Doug Lea和Tim Peierls在内的大牛也一同退出,对Java社区产生了重大影响。 ...
而在Web开发领域,Delphi同样有着不可忽视的地位,尤其是通过使用UniGUI这样的第三方控件库,可以大大简化Web应用程序的开发流程,同时实现跨平台的移动应用支持。 UniGUI是一款针对Delphi的开源Web开发框架,它...
- **常见情况**:80端口可能被其他应用程序占用,如IIS、Tomcat或其他版本的Apache等。 - **影响因素**:操作系统中多个程序同时运行可能会导致端口冲突。 #### 二、解决80端口被占用的方法 **2.1 修改PHPStudy的...
Spring 4.0是其重要的一个里程碑,增加了对Java 8的支持,改进了Web MVC性能,并加强了与第三方库的集成。`jboss-logging-annotations-1.2.0.Beta1.jar`是日志框架相关的库,而`spring-instrument-tomcat-4.0.5....