转自: http://phoenix-ghk.javaeye.com/blog/367141
Tomcat 下的9个文件夹的作用
经典Tomcat下有9个目录,分别是bin,common,conf,logs,server,shared,temp,webapps,work 目录,现在对每一目录做介绍。注意,Tomcat6.0以后就没有server和shared文件夹了,没有common文件夹,取而代之的是lib文件夹。
tomcat根目录在tomcat中叫
1.
2.
3.
4.
5.
6.
7.
8.
I.顶层类元素[Top Level Elements]:位于整个配置文件的顶层, 包括
II.连接器类元素[Connectors ]:客户和服务(容器类元素)间的通讯接口。接受客户请求,返回响应结果;
II.容器类元素[Containers]: 处理客户请求并且生成响应结果,包含3个:
IV.嵌套类元素[Nested Components]: 可以加入到容器中的元素,包括:
一个
Please note that for tomcat 5.x, unlike tomcat 4.x, it is NOT recommended to place
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.
在绝大多数资料上,都只提到了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 ,在下列行前
添加下列行:
表示增加虚拟目录 my,对应物理目录位置c://myjsp//test,若存在c://myjsp//test//hello.jsp,则下列地址可访问:
htpp://localhost:8080/my/hello.jsp
修改server.xml后,需要重新启动tomcat.
No comments:
Post a Comment