来源: http://blog.csdn.net/majiabao123/archive/2009/05/15/4189886.aspx
Valve组件
|
|
概述
|
Valve元素是插入在Catalina容器(包括Engine,Host或者Context)处理流程中的组件。不同的组件有不同的处理能力。下面将对每个Valve组件进行描述
以下的描述使用变量
$CATALINA_HOME来指Tomcat 5安装的目录。大多数的相对路径都是以该目录为基准。但是,通过设置CATALINA_BASE目录,可以运行多个Tomcat 5实例,这时你应该使用$CATALINA_BASE来作为目录基准,而不是使用$CATALINA_HOME。
|
访问日志Valve
|
概述
|
Access Log Valve用来创建日志文件,格式与标准的web server日志文件相同。可以使用用日志分析工具对日志进行分析,跟踪页面点击次数、用户会话的活动等。Access Log Valve的很多配置和行为特性与File Logger相同,包括每晚午夜自动切换日志文件。Access Log Valve可以和任何Catalina容器关联,记录该容器处理的所有请求。
|
属性
|
Access Log Valve支持如下配置属性:
属性
描述
className
|
实现的Java类名。必须被设置成org.apache.catalina.valves.AccessLogValve。
|
directory
|
存放日志文件的目录,可以是相对路径或者绝对路径。如果使用相对路径,是指相对于 $CATALINA_HOME的路径。如果不指定directory属性,缺省值是“logs”(相对于 $CATALINA_HOME)
|
pattern
|
需要记录的请求/响应不同信息域的格式布局。如果是“common”或者“combine”,说明选择标准格式。下面会有关于配置这个属性的更多信息。
|
prefix
|
日志文件名的前缀。如果没有指定,缺省值是“access_log.”。如果不想使用前缀,使用长度为0的字符串。
|
resolveHosts
|
将远端主机的IP地址通过DNS查询转换成主机名,设为true。如果为false,忽略DNS查询,报告远端的IP地址。
|
suffix
|
日志文件名的后缀。如果没有指定,缺省值是“”。如果不想使用后缀,使用长度为0的字符串。
|
rotatable
|
缺省值为true,用来决定日志是否翻转的标志。如果为false,日志文件永远不翻转,并且忽略fileDataFormat。要谨慎使用。
|
condition
|
打开条件日志。如果设置了这个属性,只有在ServletRequest.getAttribute()是null的时候,才会为请求创建日志。比如,如果condition设为junk,则只有在Servlet.getAttribute("junk")==null的时候,才会记录这个请求。使用过滤器,可以很容易设置(或者取消设置)不同请求的属性。
|
fileDateFormat
|
允许在日志文件名称中使用定制的日期格式。日志的格式也决定了日志文件翻转的频率。如果想每个小时翻转一次,将这个值设为yyyy-MM-dd.HH |
pattern属性值由字符串常量和pattern标识符加上前缀"%"组合而成。pattern标识符加上前缀"%",用来代替当前请求/响应中的对应的变量值。目前支持如下的pattern:
-
%a
- 远端IP地址
-
%A
- 本地IP地址
-
%b
- 发送的字节数,不包括HTTP头,如果为0,使用"-"
-
%B
- 发送的字节数,不包括HTTP头
-
%h
- 远端主机名(如果resolveHost=false,远端的IP地址)
-
%H
- 请求协议
-
%l
- 从identd返回的远端逻辑用户名(总是返回 '-')
-
%m
- 请求的方法(GET,POST,等)
-
%p
- 收到请求的本地端口号
-
%q
- 查询字符串(如果存在,以 '?'开始)
-
%r
- 请求的第一行,包含了请求的方法和URI
-
%s
- 响应的状态码
-
%S
- 用户的session ID
-
%t
- 日志和时间,使用通常的Log格式
-
%u
- 认证以后的远端用户(如果存在的话,否则为'-')
-
%U
- 请求的URI路径
-
%v
- 本地服务器的名称
-
%D
- 处理请求的时间,以毫秒为单位
-
%T
- 处理请求的时间,以秒为单位
Access Log Valve还可以记录cookie,消息头,Session或者ServletRequest中的信息。使用与apache类似的语法:
-
%{xxx}i
消息头
-
%{xxx}c
特定的cookie
-
%{xxx}r
xxx 是ServletRequest中的某个属性
-
%{xxx}s
xxx 是HttpSession中的某个属性
上面提到"common"模式(也是缺省的模式)实际上是"%h %l %u %t "%r" %s %b"
的一种简单表示方法
"common"模式后面加上"Referer"和用户代理头(User-Agent
headers)的信息,就是前面提到的"combined"模式。
|
|
远端地址过滤器
(Remote Address Filter)
|
概述
|
远端地址过滤器将发起请求的客户端的IP地址和一个或多个正则表达式进行比较,以决定接受或者拒绝这个请求。远端地址过滤器可以嵌套在任何Catalina容器中(Engine,Host或者Contxt)。在过滤器起作用之前,容器必须接受所有的请求。
|
属性
|
远端地址过滤器支持如下的配置属性:
属性
描述
className
|
实现的Java类名,必须设置成org.apache.catalina.valves.RemoteAddrValve.
|
allow
|
用逗号分开的一串正则表达式,客户端的IP地址与这些正则表达式进行比较。如果指定了这个属性,客户端的地址必须匹配这些表达式,其请求才会被处理。如果没有指定这个属性,所有的请求都被接受,除非客户端地址匹配了一个deny模式。
|
deny
|
用逗号分开的一串正则表达式,客户端的IP地址与这些正则表达式进行比较。如果指定了这个属性,客户端的地址一定不能匹配这些表达式,其请求才会被接受。如果没有指定这个属性,仅仅由"accept“属性决定是否接受这个请求。
|
|
|
远端主机过滤器
(Remote Host Filter)
|
概述
|
远端主机过滤器将发起请求的客户端的主机名和一个或者多个正则表达式进行比较,以决定接受或者拒绝这个请求。远端主机过滤器可以嵌套在任何Catalina容器中(Engine,Host或者Context)。在过滤器起作用之前,容器必须接受所有的请求。
|
属性
|
远端主机过滤器支持如下属性:
属性
描述
className
|
实现的Java类名,必须设为org.apache.catalina.valves.RemoteHostValve
.
|
allow
|
用逗号分开的一串正则表达式,客户端的主机名与这些正则表达式进行比较。如果指定了这个属性,客户端的主机名必须匹配这些表达式,其请求才会被处理。如果没有指定这个属性,所有的请求都被接受,除非客户端主机名匹配了一个deny模式。
|
deny
|
用逗号分开的一串正则表达式,客户端的主机名与这些正则表达式进行比较。如果指定了这个属性,客户端的主机名一定不能匹配这些表达式,其请求才会被接受。如果没有指定这个属性,仅仅由"accept“属性决定是否接受这个请求。 |
|
|
Request Dumper Valve
|
概述
|
Request Dumper Valve在调试与客户端的交互非常有用。如果配置,它会利用容器(Engine,Host或者Context)的Logger记录下每个请求的详细信息。
|
属性
|
Request Dumper Valve
支持如下配置属性:
属性
描述
className
|
实现的Java类名,必须设为org.apache.catalina.valves.RequestDumperValve
.
|
|
|
单次登录Valve(Single Sign On Valve
)
|
概述
|
如果希望用户可以登录到虚拟主机中的任意一个web应用,而且登录以后所有其他的web应用都能使用用户的身份信息(即不需要重新登录),就可以使用单次登录Valve。
在Host元素中有更多关于单次登录Valve的信息。
|
属性
|
单次登录Valve支持如下的配置属性:
属性
描述
className
|
实现的Java类名,必须设为:org.apache.catalina.authenticator.SingleSignOn
.
|
debug
|
这个组件的调试信息的详细程度,缺省值为0,即没有调试输出。
|
|
|
分享到:
相关推荐
Tomcat配置详解 Tomcat参数配置 Tomcat参数优化
Tomcat配置详解.doc Tomcat配置详解.doc Tomcat配置详解.doc
tomcat作为servlet容器,负责处理客户请求,把请求传给servlet并把结果返回给客户。servlet容器与servlet之间的接口是由java servlet api定义的,在此api中定义了servlet的各种方法,这些方法在servlet生命周期的...
Tomcat目录详解Tomcat目录详解Tomcat目录详解Tomcat目录详解Tomcat目录详解
Tomcat详解配置Tomcat详解配置Tomcat详解配置
tomcat安装配置详解,tomcat安装配置详解,tomcat安装配置详解
MyEclipse Tomcat配置详解
介绍了关于tomcat5启动流程、配置详解及杂谈。
MyEclipse_Tomcat 配置详解
Linux下安装Tomcat步骤详解
Tomcat配置技巧详解Tomcat配置技巧详解Tomcat配置技巧详解Tomcat配置技巧详解
Tomcat与JavaWeb开发技术详解-随书源码
Linux 下配置Tomcat 详解各位大佬敬请参考,沟通交流,
tomcat配置详解
Apache+Tomcat集群配置详解 把Apache安装为运行在80端口的Windows服务,安装成功后在系统服务列表中可以看到Apache2.2服务。对于已安装IIS的机器,在启动Apache服务之前必须首先停止IIS Admin服务,不然会因为端口...
tomcat并发量详解 tomcat并发连接数详解
java环境配置及tomcat设置详解.pdf
java环境配置及tomcat设置详解参照.pdf
Tomcat与JavaWeb开发技术详解书本的源代码。