一文带你详解了解Tomcat的Server配置!
以第一部分的server.xml为例,多个Service的配置如下: 再将原webapps下的docs目录拷贝到webapps2中,则通过如下两个接口都可以访问docs应用: http://localhost:8080/docs/ http://localhost:8084/docs/ 五、其他组件 除核心组件外,server.xml中还可以配置很多其他组件。下面只介绍第一部分例子中出现的组件,如果要了解更多内容,可以查看Tomcat官方文档。 1、Listener Listener(即监听器)定义的组件,可以在特定事件发生时执行特定的操作;被监听的事件通常是Tomcat的启动和停止。 监听器可以在Server、Engine、Host或Context中,本例中的监听器都是在Server中。实际上,本例中定义的6个监听器,都只能存在于Server组件中。监听器不允许内嵌其他组件。 监听器需要配置的最重要的属性是className,该属性规定了监听器的具体实现类,该类必须实现了org.apache.catalina.LifecycleListener接口。 下面依次介绍例子中配置的监听器:
2、GlobalNamingResources与Realm 第一部分的例子中,Engine组件下定义了Realm组件: Realm,可以把它理解成“域”;Realm提供了一种用户密码与web应用的映射关系,从而达到角色安全管理的作用。在本例中,Realm的配置使用name为UserDatabase的资源实现。而该资源在Server元素中使用GlobalNamingResources配置: GlobalNamingResources元素定义了全局资源,通过配置可以看出,该配置是通过读取$TOMCAT_HOME/ conf/tomcat-users.xml实现的。 关于Tomcat域管理的更多内容,可以参考:Realm域管理 3、Valve 在第一部分的例子中,Host元素内定义了Valve组件: 单词Valve的意思是“阀门”,在Tomcat中代表了请求处理流水线上的一个组件;Valve可以与Tomcat的容器(Engine、Host或Context)关联。 不同的Valve有不同的特性,下面介绍一下本例中出现的AccessLogValve。 AccessLogValve的作用是通过日志记录其所在的容器中处理的所有请求,在本例中,Valve放在Host下,便可以记录该Host处理的所有请求。AccessLogValve记录的日志就是访问日志,每天的请求会写到一个日志文件里。AccessLogValve可以与Engine、Host或Context关联;在本例中,只有一个Engine,Engine下只有一个Host,Host下只有一个Context,因此AccessLogValve放在三个容器下的作用其实是类似的。 本例的AccessLogValve属性的配置,使用的是默认的配置;下面介绍AccessLogValve中各个属性的作用: (1)className:规定了Valve的类型,是最重要的属性;本例中,通过该属性规定了这是一个AccessLogValve。 (2)directory:指定日志存储的位置,本例中,日志存储在$TOMCAT_HOME/logs目录下。 (3)prefix:指定了日志文件的前缀。 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |