apache-tomcat下各个文件夹作用

【转】 tomcat下各文件夹的作用

tomcat下有9个目录,分别是bin,common,conf,logs,server,shared,temp,webapps,work
目录,现在对每一目录做介绍。
tomcat根目录在tomcat中叫<CATALINA_HOME>,文章中把tomcat解压后在c:/下。
1.<CATALINA_HOME>/bin:
存放各种平台下启动和关闭Tomcat的脚本文件。其中有个档是catalina.bat,打开这个windos配置文件,在非注释行加入JDK路径,例 如 :
SET JAVA_HOME=C:j2sdk1.4.2_06 保存后,就配置好tomcat环境了。
startup.bat是windows下启动tomcat的文件,shutdown.bat是关闭tomcat的文件。
2.<CATALINA_HOME>/common:
在common目录下的lib目录,存放Tomcat服务器和所有web应用都能访问的JAR?。
3.<CATALINA_HOME>/shared:
在shared目录下的lib目录,存放所有web应用能访问的,但Tomcat不能访问的JAR?。
4.<CATALINA_HOME>/server:
在server/webapps目录中,存放Tomcat自带的两个APP-admin和manager应用,使用来管理Tomcat-web服务用的。
在server/lib目录中,存放tomcat服务器所需要的各,web应用不能访问种jar?。
5.<CATALINA_HOME>/work
: Tomcat把各种由jsp生成的servlet文件放在这个目录下。work这个文件夹下面的东西建议你去看看就可以明白了
那是JSP文件编译成.java->.classes
6.<CATALINA_HOME>/temp :
临时活页夹,Tomcat运行时候存放临时文件用的。
7.<CATALINA_HOME>/logs :
存放Tomcat的日志文件
8.<CATALINA_HOME>/conf : Tomcat的各种配置文件,
tomcat启动的时候需要读取的配置文件:server.xml(tomcat主要配置文件)、web.xml和tomcatat-
users.xml、catalina.policy(安全策略文件)等。修改了以后需要重启tomcat才能生效.最重要的是
server.xml;配置tomcat组件的XML文件server.XML其中包括
I.顶层类元素[Top Level Elements]:
位于整个配置文件的顶层, 包括<Server>和<Service>;
II.连接器类元素[Connectors ]:
客户和服务(容器类元素)间的通讯接口。接受客户请求,返回响应结果;<Connector>
II.容器类元素[Containers]:
处理客户请求并且生成响应结果,包含3个:<Engine> <Host>
<Context>
IV.嵌套类元素[Nested Components]: 可以加入到容器中的元素,包括:<logger>
<Valve><Realm>等

个<Server>包含一个或多个<Service>,一个<Service>包含唯一一
个<Engine>和一个或多个<Connector>,多个<Connector>共享一
个<Engine>;一个<Engine>包含多个<Host>,每个<Host>定义一个虚拟主机,
包含一个或多个web应用<Context>;
<Context>元素是代表一个在虚拟主机上运行的Web应用。<Context>标签的描述
Please note that
for tomcat 5.x, unlike tomcat 4.x, it is NOT recommended to place
< Context> elements directly in the server.xml file. Instead, put them in
the META-INF/context.xml directory of your WAR file or the conf directory as
described above.

server.xml配置简介     
下面是这个文件中的基本配置信息,更具体的配置信息见tomcat的文档     
server:
最顶层元素   
port   
指定一个端口,这个端口负责监听关闭tomcat的请求     
shutdown   
指定向端口发送的命令字符串     
service:     
name   
指定service的名字     
Connector   
(表示客户端和service之间的连接):     
port   
指定服务器端要创建的端口号,并在这个断口监听来自客户端的请求     
minProcessors   
服务器启动时创建的处理请求的线程数     
maxProcessors   
最大可以创建的处理请求的线程数     
enableLookups   
如果为true,则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客
                   
户端的实际主机名,若为false则不进行DNS查询,而是返回其ip地址     
redirectPort   
指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号     
acceptCount   
指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求 
                 
数,超过这个数的请求将不予处理     
connectionTimeout   
指定超时的时间数(以毫秒为单位)     
Engine   
(表示指定service中的请求处理机,接收和处理来自Connector的请求):     
defaultHost   
指定缺省的处理请求的主机名,它至少与其中的一个host元素的name属性值是一样    
Context   
(表示一个web应用程序,通常为WAR文件,关于WAR的具体信息见servlet规范):     
docBase   
应用程序的路径或者是WAR文件存放的路径     
path   
表示此web应用程序的url的前缀,这样请求的url为http://localhost:8080/path/****     
reloadable   
这个属性非常重要,如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib和
             
/WEB-INF/classes目录的变化,自动装载新的应用程序,我们可以在不重起tomcat的情
               
况下改变应用程序     
host   
(表示一个虚拟主机):     
name   
指定主机名     
appBase   
应用程序基本目录,即存放应用程序的目录     
unpackWARs   
如果为true,则tomcat会自动将WAR文件解压,否则不解压,直接从WAR文件中运行应用
             
程序     
Logger   
(表示日志,调试和错误信息):     
className   
指定logger使用的类名,此类必须实现org.apache.catalina.Logger   
接口     
prefix   
指定log文件的前缀     
suffix   
指定log文件的后缀     
timestamp   
如果为true,则log文件名中要加入时间,如下例:localhost_log.2001-10-04.txt     
Realm   
(表示存放用户名,密码及role的数据库):     
className   
指定Realm使用的类名,此类必须实现org.apache.catalina.Realm接口     
Valve   
(功能与Logger差不多,其prefix和suffix属性解释和Logger   
中的一样):     
className   
指定Valve使用的类名,如用org.apache.catalina.valves.AccessLogValve类可以记录 
应用程序的访问信息     
directory   
指定log文件存放的位置     
pattern   
有两个值,common方式记录远程主机名或ip地址,用户名,日期,第一行请求的字符串,HTTP响应代码,发送的字节数。combined方式比common方式记录的值更多     
注意:     

认的server.xml中,Realm元素只设置了一个className属性,但此文件中也包含几个通过JDBC连接到数据库进行验证的示例(被注
释掉了),通过Realm元素我们可以实现容器安全管理(Container   
Managed   
Security)。     
还有一些元素,如Parameter,loader,你可以通过tomcat的文档获取这些元素的信息。

9.<CATALINA_HOME>/webapps:
web应用的发布目录,把 java开发的web站点或war文件放入这个目录下就可以通过tomcat服务器访问了。

在 绝大多数资料上,都只提到了conf/server.xml以及context下面的
WEB-INF/web.xml,但我发现,有时,在server.xml上面没有配置的内容,tomcat也运行着,后来发现,原来除了这两处配置外,
还有一处重要的配置文件,




 

在TOMCAT_HOME/conf/Catalina/下面(Catalina是server.xml里的engine的名称),也是一些关键的配置文
件,每个主机(server.xml里的Host),在这里有一个目录,每个主机(Host)里的一个context在该主机目录下有一个对应的xml文
件,比如,根目录对应ROOT.xml,其它名为test的context对应test.xml。
TOMCAT_HOME/conf/Catalina/hostname/context1.xml
相当于在server.xml中的Catalina引擎下的hostname主机下配置context1WEB应用。在目录里配置,和在 server.xml里配置效果是一样的,Tomcat自带的admin,自动将所有context转到目录下配置,而不是集中在server.xml。

10、如何新建虚拟目录?
修改
Tomcat安装目录//conf//server.xml
,在下列行前
</Host>
</Engine>
添加下列行:
<Context path="/my"
docBase="c://myjsp//test" debug="0"
reloadable="true">
</Context>
表示增加虚拟目录
my,对应物理目录位置c://myjsp//test,若存在c://myjsp//test//hello.jsp,则下列地址可访问:
htpp://localhost:8080/my/hello.jsp
修改server.xml后,需要重新启动tomcat.

时间: 2024-10-13 22:25:12

apache-tomcat下各个文件夹作用的相关文章

linux目录下各文件夹作用

??作为一个程序员,我们难免会接触到linux系统,特别是后台程序员,因为现在项目的部署环境基本都是在linux系统上进行的,所以了解linux系统是十分重要的,虽然我接触了linux系统已经有一段时间了,但是我基本知识完成了一些部署,并没有很深入地了解它,所以从现在开始,我们就一起来学习一下linux系统,推荐看<鸟哥的Linux私房菜-基础学习篇>这本书,可以了解到很多关于linux的知识,我平时使用过centos系统以及ubuntu,centos是部署在阿里云上的服务器,ubuntu是在

Java web 项目读取src或者tomcat下class文件夹下的xml文件或者properties文件

//生成一个文件对象: File file = new File(getClass().getClassLoader().getResource("test.xml").getPath()); //直接得到一个输入流: InputStream in = getClass().getClassLoader().getResourceAsStream("test.xml"); //在当前线程获取--这种方法不大稳定 //String path = Thread.curr

Tomcat下webapps夹中root文件夹作用及如何发布项目至root文件夹中

转载请注明出处: tomcat的root文件夹下面默认是tomcat的管理程序,但是如果你把自己的web项目发布到root下面的话,你可以不通过项目名直接访问你的项目,比如,你见了一个名为Test的项目,你要访问的路径一般是:http://localhost:8080/Test但是你把项目部署在root文件夹下之后,可以通过http://localhost:8080直接访问你的项目. 如何设置项目发布时自动发布到webapps文件夹下的root文件夹中,方法如下:选中我们要操作的Web项目,单击

tomcat 目录文件夹作用(转)

(一):目录结构 tomcat的目录结构如下:  目录名 简介  bin 存放启动和关闭tomcat脚本  conf 包含不同的配置文件,server.xml(Tomcat的主要配置文件)和web.xml  work 存放jsp编译后产生的class文件  webapp 存放应用程序示例,以后你要部署的应用程序也要放到此目录  .在(包)WEB-INF/src中写的.java文件会被自动编译成.class文件后转存到WEB-INF文件夹下的classes文件夹下.logs 存放日志文件  lib

linux根目录下各文件夹的作用

linux下的文件结构,看看每个文件夹都是干吗用的 /bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 /etc/rc.d 启动的配置文件和脚本 /home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示 /lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件 /sbin 系统管理命令,这里存放的是系统管理员使用的管理程序 /tmp 公用的临时文件存储点 /root 系统管理员的主目录(呵呵,特

Linux下各个文件夹的作用

linux下的文件结构,看看每个文件夹都是干吗用的/bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 /etc/rc.d 启动的配置文件和脚本 /home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示 /lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件 /sbin 系统管理命令,这里存放的是系统管理员使用的管理程序 /tmp 公用的临时文件存储点 /root 系统管理员的主目录(呵呵,特权

eclipse下classes文件夹无法发布到tomcat的问题--tomcat发布慢的问题

=== 解决eclipse下classes文件夹无法发布到tomcat的问题_Nautilus_新浪博客http://blog.sina.com.cn/s/blog_484d8777010130n5.html 上午刚来,就更新了项目的svn,随后发布到tomcat下,奇怪的问题出现了,tomcat启动很简单就完成了,部署的项目不能被识别.看了一下发布目录WEB-INF下只有lib目录,其它如classes目录,web.xml文件一概不存在.不知道问题出在哪里? 经过排查,最后发现了问题出在ecl

linux下遍历文件夹---opendir等用法

首先要说肯定是头文件,#include <sys/types.h>   #include <dirent.h> linux下遍历文件夹需要用到以下几个函数,其中有三个是必须的,其它几个是可选的. DIR* opendir(const char * name);   失败返回NULL.成功返回DIR结构体.注意DIR前面没有struct,如果加上编译器会warning struct dirent *readdir(struct DIR* dir);   失败返回NULL. void

linux下各文件夹的结构说明及用途介绍

linux下各文件夹的结构说明及用途介绍: /bin:二进制可执行命令.   /dev:设备特殊文件. /etc:系统管理和配置文件. /etc/rc.d:启动的配 置文件和脚本. /home:用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示.   /lib:标准程序设计库,又 叫动态链接共享库,作用类似windows里的.dll文件.   /sbin:系统管理命令,这 里存放的是系统管理员使用的管理程序. /tmp:公用的临时文件存储 点. /root: