tomcat配置文件结构:
<Server> <Listener /> <GlobaNamingResources> </GlobaNamingResources <Service> <Connector /> <Engine> <Logger /> <Realm /> <host> <Logger /> <Context /> </host> </Engine> </Service> </Server>
<server>元素代表一个完整的容器。它的port属性指定监听关闭该tomcat的请求端口;shutdown属性指定向端口发送的命令字符串;
<service>元素由org.apache.catalina.Service接口定义,它包含一个<Engine>元素,以及一个或多个<Connector>,这些Connector元素共享用同一个Engine元素;
<Connector>元素代表与客户程序实际交互的给件,它负责接收客户请求,以及向客户返回响应结果.
它的port属性指定服务器端要创建的端口号,并在这个断口监听来自客户端的请求;protocol:指定监听的请求协议;
redirectPort:指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号;
Engine元素(表示指定service中的请求处理机,接收和处理来自Connector的请求)
defaultHost属性:指定缺省的处理请求的主机名,它至少与其中的一个host元素的name属性值是一样的;
Valve元素功能与Logger差不多都用来指定记录应用程序的访问信息;其中prefix和suffix指定log文件的前缀和后缀名;
pattern属性有两个值表示两种方式,common方式记录远程主机名或ip地址,用户名,日期,第一行请求的字符串,HTTP响应代码,发送的字节数。combined方式比common方式记录的值更多。
directory用于指定存放log文件的地址;
<Server port="8005" shutdown="SHUTDOWN"> <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> <Listener className="org.apache.catalina.core.JasperListener" /> <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" /> <GlobalNamingResources> <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" /> </GlobalNamingResources> <Service name="Catalina"> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" useBodyEncodingForURI="true"/> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <Engine name="Catalina" defaultHost="localhost"> <Realm className="org.apache.catalina.realm.LockOutRealm"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> </Realm> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </Host> </Engine> </Service> </Server>
上面是我本机的tomcat设置,可以看到,它定义8005端口监听shutdown请求,在定义的service内定义了两个connector,一个是8080端口负责监听http协议,一个是8009端口,负责监听AJP协议,也就是其它apache服务器转发过来的请求;定义的默认host为本机,它会在webapps文件夹下寻找资源进行返回。log打印定义的文件夹为logs,文件名为localhost_access_log.txt,它的打印格式由pattern定义。
具体参考网址: http://www.blogjava.net/baoyaer/articles/107278.html