tomcat配置文件分析之server.xml

来源:互联网 发布:佳能dpp软件 编辑:程序博客网 时间:2024/05/19 02:40

开篇提醒:Tomcat配置文件中(即server.xml文件)不能出现中文,否则服务是无法启动的。

<!-- Server中的port监听关闭tomcat的请求,shutdown指定向端口发送的命令串 --><Server port="8005" shutdown="SHUTDOWN" debug="0"><Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"debug="0" /><Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"debug="0" /><GlobalNamingResources><Environment name="simpleValue" type="java.lang.Integer"value="30" /><Resource name="UserDatabase" auth="Container"type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved"></Resource><ResourceParams name="UserDatabase"><parameter><name>factory</name><!--value与Logger差不多prefix和suffix解释一样,className指定value使用的类名如:org.apache.catalina.values.AccessLogValve类可以记录应用程序的访问信息,directory指定log文件存放位置,pattern有两值,common方式记录远程主机名或ip地址,用户名,日期,第一行请求的字符串,HTTP响应代码,发送的字节数。combined方式比common记录更多 --><value>org.apache.catalina.users.MemoryUserDatabaseFactory</value></parameter><parameter><name>pathname</name><value>conf/tomcat-users.xml</value></parameter></ResourceParams></GlobalNamingResources><Service name="Catalina"><!-- Connector中的port创建服务器端的端口号,此端口监听用户端的请求 maxThreads最大可以创建请求的线程数 minSpareThreads服务启动时创建的处理请求的进程数 enableLookups如果为true,则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名,若为false则不进行DNS查询,而是返回其ip地址 redirectPort指定服务器正在处理http请求时收到一个SSL传输请求后重定向的端口号 acceptCount指定当处理请求线程都被使用时,可以放入处理队列的数目,超出将不进行处理 connectionTimeout指定超时的时间数(毫秒) --><Connector port="80" maxThreads="150" minSpareThreads="25"maxSpareThreads="75" enableLookups="false" redirectPort="8443"acceptCount="100" debug="0" connectionTimeout="20000"disableUploadTimeout="true" /><Connector port="8009" enableLookups="false" redirectPort="8443"debug="0" protocol="AJP/1.3" /><!--Engine指定缺省的处理请求主机名,需要有一个与host元素的name属性一致 --><Engine name="Catalina" defaultHost="localhost" debug="0"><!--logger中表示日志信息className为指定logger使用的类名此类必须实现org.apache.catalina.Logger接口prefix指定log文件的前缀,suffix指定后缀,timestamp如果为true则log文件名中加入时间 --><Logger className="org.apache.catalina.logger.FileLogger"prefix="catalina_log." suffix=".txt" timestamp="true" /><!--Realm存放用户名密码及role数据库,className指定Realm使用的类名必须实现org.apache.catalina.Realm接口 --><Realm className="org.apache.catalina.realm.UserDatabaseRealm"debug="0" resourceName="UserDatabase" /><!--host中name是指定的主机名或ip,appBase应用程序目录,unpackWARs如果为true则会自动解压war文件直接运行否则不解压 --><Host name="192.168.4.247" debug="0" appBase="D:/project/hbgs_dddu/webapps"unpackWARs="true" autoDeploy="true" xmlValidation="false"xmlNamespaceAware="false"><!--logger中表示日志信息className为指定logger使用的类名此类必须实现org.apache.catalina.Logger接口prefix指定log文件的前缀,suffix指定后缀,timestamp如果为true则log文件名中加入时间 --><Logger className="org.apache.catalina.logger.FileLogger"directory="logs" prefix="localhost_log.zx" suffix=".txt" timestamp="true" /><!--Context一个web应用程序通常为war文件,关于war的具体信息见servlet规范,docBase应用程序的路径或者war文件的存放路径,path表示此web程序的url前缀,reloadable如果为true,Tomcat会自动检测应用程序的变化,自动装载新的应用程序,那么改变代码将不用再次重新启动tomcat --><Context path="" docBase="D:/project/hbgs_dddu/webapps"debug="0" reloadable="true" /></Host></Engine></Service></Server> 
配置数据源:<?xml version="1.0" encoding="UTF-8"?>  <Context path="/aaa-app"       docBase="D:\\WORK\\AAA\\AAA-BRANCH\\8GBranch\\src\\applications\\aaa-app\\target\\aaa-app"      reloadable="false">            <Resource auth="Container"                 url="jdbc:oracle:thin:@localhost:1521:i18n"                 driverClassName="oracle.jdbc.driver.OracleDriver"                 name="jdbc/IpbDB"                 username="aaa8gbranch" password="exigen"                 factory="org.apache.commons.dbcp.BasicDataSourceFactory"                 type="javax.sql.DataSource"                 testOnBorrow="true" testOnReturn="true" timeBetweenEvictionRunsMillis="60000" maxActive="20" maxIdle="5" maxWait="5000"          />          <Manager pathname="" checkInterval="60" maxActiveSessions="-1" maxInactiveInterval="60" debug="0" algorithm="MD5" entropy="12345" distributable="false"/>  </Context>  Context                                                                                                                                   1. Context:表示一个web应用程序,通常为WAR文件 2. docBase:应用程序的路径或者是WAR文件存放的路径     3. path:表示此web应用程序的url的前缀,这样请求的url为http://localhost:8080/aaa-app 4. reloadable:这个属性非常重要,如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib   和/WEB-INF/classes目录的变化,自动装载新的应用程序,我们可以在不重起tomcat的情况下改变应用程序  Resource                                                                                                                               1.name,指定JDNI名称(可以自己随意定义) 2.auth,表示认证方式,一般为Container 3.type,数据源类型,使用标准的javax.sql.DataSource 4.maxActive,连接池最大的数据库连接数 5.maxIdle,最大的空闲连接数 6.logAbandoned,被丢弃的数据库连接是否做记录,以便跟踪 7.username,数据库用户名 8.password,数据库用户的密码 9.driverClassName,JDBC Driver 10.url,数据库的URL地址 Tomcat JNDI Resource Common Process                                                                              第一步,在$CATALINA_HOME$/conf/server.xml配置文件中添置相关Resource信息: Xml代码  <Resource>        ... ...  </Resource>  第二步,在$CATALINA_HOME$/conf/web.xml配置文件中引用上面的Resource信息: Xml代码  <resource-ref>      <description>DB Connection</description>      <res-ref-name>jdbc/mysql</res-ref-name>      <res-type>javax.sql.DataSource</res-type>      <res-auth>Container</res-auth>    </resource-ref>  第三步,在$CATALINA_HOME$/conf/catalina/localhost目录下找到需要进行数据库连接的当前程序的配置信息 譬如:aaa-app.xml,添加如下配置片段: Java代码  <Context>        ... ...        <ResourceLink name="jdbc/mysql" global="jdbc/mysql" type="javax.sql.DataSource">        ... ...  </Context> 


	
				
		
原创粉丝点击