﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Linden.zhang-文章分类-Tomcat</title><link>http://www.blogjava.net/linden/category/23101.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 06 Jun 2007 13:16:34 GMT</lastBuildDate><pubDate>Wed, 06 Jun 2007 13:16:34 GMT</pubDate><ttl>60</ttl><item><title>tomcat设置 </title><link>http://www.blogjava.net/linden/articles/122414.html</link><dc:creator>Linden.zhang</dc:creator><author>Linden.zhang</author><pubDate>Wed, 06 Jun 2007 09:31:00 GMT</pubDate><guid>http://www.blogjava.net/linden/articles/122414.html</guid><wfw:comment>http://www.blogjava.net/linden/comments/122414.html</wfw:comment><comments>http://www.blogjava.net/linden/articles/122414.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/linden/comments/commentRss/122414.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/linden/services/trackbacks/122414.html</trackback:ping><description><![CDATA[<div>1.如何加大tomcat连接数<br><br>在tomcat配置文件server.xml中的&lt;Connector &nbsp;/&gt;配置中，和连接数相关的参数有：<br>minProcessors：最小空闲连接线程数，用于提高系统处理性能，默认值为10<br>maxProcessors：最大连接线程数，即：并发处理的最大请求数，默认值为75<br>acceptCount：允许的最大连接数，应大于等于maxProcessors，默认值为100<br>enableLookups：是否反查域名，取值为：true或false。为了提高处理能力，应设置为false<br>connectionTimeout：网络连接超时，单位：毫秒。设置为0表示永不超时，这样设置有隐患的。通常可设置为30000毫秒。<br>其中和最大连接数相关的参数为maxProcessors和acceptCount。如果要加大并发连接数，应同时加大这两个参数。<br>web &nbsp;server允许的最大连接数还受制于操作系统的内核参数设置，通常Windows是2000个左右，Linux是1000个左右。tomcat5中的配置示例：<br><br>
<table cellSpacing=1 cellPadding=4 width="98%" align=center bgColor=#bad5ef border=0>
    <tbody>
        <tr>
            <td bgColor=#e6eef7 height=25>程序代码：</td>
        </tr>
        <tr>
            <td bgColor=#ffffff>&nbsp;&nbsp;&nbsp;&nbsp;&lt;Connector&nbsp;port=<span>"8080"</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxThreads=<span>"150"</span>&nbsp;minSpareThreads=<span>"25"</span>&nbsp;maxSpareThreads=<span>"75"</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;enableLookups=<span>"<span>false</span>"</span>&nbsp;redirectPort=<span>"8443"</span>&nbsp;acceptCount=<span>"100"</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;debug=<span>"0"</span>&nbsp;connectionTimeout=<span>"20000"</span>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;disableUploadTimeout=<span>"<span>true</span>"</span>&nbsp;/&gt;</td>
        </tr>
    </tbody>
</table>
<br><br>对于其他端口的侦听配置，以此类推。<br><br>2. &nbsp;tomcat中如何禁止列目录下的文件<br>在{tomcat_home}/conf/web.xml中，把listings参数设置成false即可，如下：<br><br>&lt;init-param&gt;<br>&lt;param-name&gt;listings&lt;/param-name&gt;<br>&lt;param-value&gt;false&lt;/param-value&gt;<br>&lt;/init-param&gt;<br><br>3.如何加大tomcat可以使用的内存<br>tomcat默认可以使用的内存为128MB，在较大型的应用项目中，这点内存是不够的，需要调大。<br>Unix下，在文件{tomcat_home}/bin/catalina.sh的前面，增加如下设置：<br>JAVA_OPTS='-Xms【初始化内存大小】 &nbsp;-Xmx【可以使用的最大内存】'<br>需要把这个两个参数值调大。例如：<br>JAVA_OPTS='-Xms256m &nbsp;-Xmx512m'<br>表示初始化内存为256MB，可以使用的最大内存为512MB&nbsp;&nbsp;<br><br>4&nbsp;&nbsp;如何添加默认访问页面<br>修改文件web.xml，在welcome-file里面加入需要的页面即可。<br>&lt;welcome-file-list&gt;<br>&nbsp; &nbsp; &nbsp; &nbsp;&lt;welcome-file&gt;index.html&lt;/welcome-file&gt;<br>&nbsp; &nbsp; &nbsp; &nbsp;&lt;welcome-file&gt;index.htm&lt;/welcome-file&gt;<br>&nbsp; &nbsp; &nbsp; &nbsp;&lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt;<br>&lt;/welcome-file-list&gt;<br><br>5. &nbsp;如何添加出错页面 &nbsp;<br><br>修改文件web.xml，在location里面加入出错页面<br>&nbsp;&lt;error-page&gt;<br>&nbsp; &nbsp;&lt;error-code&gt;404&lt;/error-code&gt;<br>&nbsp; &nbsp;&lt;location&gt;/error.jsp&lt;/location&gt;<br>&nbsp;&lt;/error-page&gt;<br>&nbsp;&lt;error-page&gt;<br>&nbsp; &nbsp;&lt;error-code&gt;500&lt;/error-code&gt;<br>&nbsp; &nbsp;&lt;location&gt;/error.jsp&lt;/location&gt;<br>&nbsp;&lt;/error-page&gt;&nbsp;&nbsp;<br><br>6.如何配置虚拟主机 &nbsp;<br><br>为了实现基于域名（IP地址）的虚拟主机，修改文件server.xml，加入以下内容：<br><br>
<table cellSpacing=1 cellPadding=4 width="98%" align=center bgColor=#bad5ef border=0>
    <tbody>
        <tr>
            <td bgColor=#e6eef7 height=25>程序代码：</td>
        </tr>
        <tr>
            <td bgColor=#ffffff>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Host&nbsp;appBase=<span>"C:/webapp1"</span>&nbsp;name=<span>"www.test1.com"</span>&nbsp;unpackWARs=<span>"<span>true</span>"</span>&nbsp;autoDeploy=<span>"<span>true</span>"</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xmlValidation=<span>"<span>false</span>"</span>&nbsp;xmlNamespaceAware=<span>"<span>false</span>"</span>&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Alias&gt;www.test1.com&lt;/Alias&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Alias&gt;192.168.1.110&lt;/Alias&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/Host&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Host&nbsp;appBase=<span>"C:/webapp2"</span>&nbsp;name=<span>"www.test2.com"</span>&nbsp;unpackWARs=<span>"<span>true</span>"</span>&nbsp;autoDeploy=<span>"<span>true</span>"</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xmlValidation=<span>"<span>false</span>"</span>&nbsp;xmlNamespaceAware=<span>"<span>false</span>"</span>&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Alias&gt;www.test2.com&lt;/Alias&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Alias&gt;192.168.1.120&lt;/Alias&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/Host&gt;</td>
        </tr>
    </tbody>
</table>
<br><br>在confCatalina目录下建立文件夹，文件夹的名称为&#8221;www.test1.com&#8221;和&#8220;www.test2.com&#8221;，然后在这两个目录下建立文件ROOT.xml，其&#8220;www.test1.com&#8220;目录下ROOT.xml内容为：<br><br>
<table cellSpacing=1 cellPadding=4 width="98%" align=center bgColor=#bad5ef border=0>
    <tbody>
        <tr>
            <td bgColor=#e6eef7 height=25>程序代码：</td>
        </tr>
        <tr>
            <td bgColor=#ffffff>&lt;?xml&nbsp;version='1.0'&nbsp;encoding='utf-8'?&gt;<br>&lt;!--<br>&nbsp;Context&nbsp;configuration&nbsp;file&nbsp;for&nbsp;the&nbsp;test1&nbsp;App<br>--&gt;<br>&lt;Context&nbsp;displayName=www.test1.com&nbsp;path=<span>"/"</span>&nbsp;&nbsp;docBase=<span>""</span>&nbsp;useNaming=<span>"<span>false</span>"</span>&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;debug=<span>"0"</span>&nbsp;privileged=<span>"<span>true</span>"</span>&nbsp;reloadable=<span>"<span>true</span>"</span>&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;Logger&nbsp;className=<span>"org.apache.catalina.logger.FileLogger"</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;directory=<span>"C:/webapp1/WEB-INF/logs"</span>&nbsp;prefix=<span>"test1_log."</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;suffix=<span>".txt"</span>&nbsp;timestamp=<span>"<span>true</span>"</span>/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;Valve&nbsp;className=<span>"org.apache.catalina.valves.AccessLogValve"</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;directory=<span>"logs"</span>&nbsp;&nbsp;prefix=<span>"test1_access_log."</span>&nbsp;suffix=<span>".txt"</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pattern=<span>"combined"</span>&nbsp;resolveHosts=<span>"<span>false</span>"</span>/&gt;<br>&lt;/Context&gt;</td>
        </tr>
    </tbody>
</table>
<br><br>7. &nbsp;如何配置mysql数据源<br>在本机建立数据库test，将mysql的JDBC驱动mysql-connector-java-3.0.9-stable-bin.jar拷贝到目录commonlib下，<br>修改文件web.xml，加入以下内容：<br><br>
<table cellSpacing=1 cellPadding=4 width="98%" align=center bgColor=#bad5ef border=0>
    <tbody>
        <tr>
            <td bgColor=#e6eef7 height=25>程序代码：</td>
        </tr>
        <tr>
            <td bgColor=#ffffff>&lt;resource-ref&gt;<br>&nbsp;&nbsp;&lt;description&gt;MySQL&nbsp;Datasource&nbsp;example&lt;/description&gt;<br>&nbsp;&nbsp;&lt;res-ref-name&gt;jdbc/test&lt;/res-ref-name&gt;<br>&nbsp;&nbsp;&lt;res-type&gt;javax.sql.DataSource&lt;/res-type&gt;<br>&nbsp;&nbsp;&lt;res-auth&gt;Container&lt;/res-auth&gt;&nbsp;<br>&nbsp;&lt;/resource-ref&gt;</td>
        </tr>
    </tbody>
</table>
<br><br>在WEB应用的配置文件里加入以下内容：<br><br>
<table cellSpacing=1 cellPadding=4 width="98%" align=center bgColor=#bad5ef border=0>
    <tbody>
        <tr>
            <td bgColor=#e6eef7 height=25>程序代码：</td>
        </tr>
        <tr>
            <td bgColor=#ffffff>&lt;Resource&nbsp;name=<span>"jdbc/test"</span>&nbsp;auth=<span>"Container"</span>&nbsp;type=<span>"javax.sql.DataSource"</span>/&gt;&nbsp;<br>&nbsp;&lt;ResourceParams&nbsp;name=<span>"jdbc/test"</span>&gt;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&lt;parameter&gt;<br>&nbsp;&nbsp;&nbsp;&lt;name&gt;factory&lt;/name&gt;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&lt;value&gt;org.apache.commons.dbcp.BasicDataSourceFactory&lt;/value&gt;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&lt;/parameter&gt;&nbsp;&nbsp;&nbsp;<br>&nbsp;&lt;!--&nbsp;Class&nbsp;name&nbsp;for&nbsp;mm.mysql&nbsp;JDBC&nbsp;driver&nbsp;--&gt;&nbsp;&nbsp;<br>&nbsp;&nbsp;&lt;parameter&gt;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&lt;name&gt;driverClassName&lt;/name&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&lt;value&gt;org.gjt.mm.mysql.Driver&lt;/value&gt;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&lt;/parameter&gt;&nbsp;<br>&nbsp;&lt;!--&nbsp;The&nbsp;JDBC&nbsp;connection&nbsp;url&nbsp;for&nbsp;connecting&nbsp;to&nbsp;your&nbsp;MySQL&nbsp;dB.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;The&nbsp;autoReconnect=<span>true</span>&nbsp;argument&nbsp;to&nbsp;the&nbsp;url&nbsp;makes&nbsp;sure&nbsp;that&nbsp;the&nbsp;mm.mysql&nbsp;JDBC&nbsp;Driver&nbsp;will&nbsp;automatically&nbsp;reconnect&nbsp;if&nbsp;mysqld&nbsp;closed&nbsp;the&nbsp;connection.&nbsp;&nbsp;mysqld&nbsp;by&nbsp;default&nbsp;closes&nbsp;idle&nbsp;connections&nbsp;after&nbsp;8&nbsp;hours.&nbsp;--&gt;&nbsp;&nbsp;<br>&nbsp;&nbsp;&lt;parameter&gt;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&lt;name&gt;url&lt;/name&gt;<br>&nbsp;&nbsp;&nbsp;&lt;value&gt;jdbc:mysql:<span>//localhost:3306/test?autoReconnect=<span>true</span>&lt;/value&gt;</span><br>&nbsp;&nbsp;&lt;/parameter&gt;&nbsp;<br>&nbsp;&lt;!--&nbsp;MySQL&nbsp;dB&nbsp;username&nbsp;and&nbsp;password&nbsp;for&nbsp;dB&nbsp;connections&nbsp;&nbsp;--&gt;&nbsp;&nbsp;<br>&nbsp;&nbsp;&lt;parameter&gt;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&lt;name&gt;username&lt;/name&gt;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&lt;value&gt;root&lt;/value&gt;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&lt;/parameter&gt;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&lt;parameter&gt;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&lt;name&gt;password&lt;/name&gt;&nbsp;<br>&nbsp;&nbsp;&nbsp;&lt;value&gt;&lt;/value&gt;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&lt;/parameter&gt;<br>&nbsp;&lt;!--&nbsp;Maximum&nbsp;number&nbsp;of&nbsp;dB&nbsp;connections&nbsp;in&nbsp;pool.&nbsp;Make&nbsp;sure&nbsp;you&nbsp;configure&nbsp;your&nbsp;mysqld&nbsp;max_connections&nbsp;large&nbsp;enough&nbsp;to&nbsp;handle&nbsp;all&nbsp;of&nbsp;your&nbsp;db&nbsp;connections.&nbsp;Set&nbsp;to&nbsp;0&nbsp;for&nbsp;no&nbsp;limit.&nbsp;&nbsp;--&gt;<br>&nbsp;&nbsp;&lt;parameter&gt;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&lt;name&gt;maxActive&lt;/name&gt;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&lt;value&gt;100&lt;/value&gt;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&lt;/parameter&gt;&nbsp;&nbsp;<br>&nbsp;&lt;!--&nbsp;Maximum&nbsp;number&nbsp;of&nbsp;idle&nbsp;dB&nbsp;connections&nbsp;to&nbsp;retain&nbsp;in&nbsp;pool.&nbsp;Set&nbsp;to&nbsp;0&nbsp;for&nbsp;no&nbsp;limit.&nbsp;--&gt;&nbsp;&nbsp;<br>&nbsp;&nbsp;&lt;parameter&gt;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&lt;name&gt;maxIdle&lt;/name&gt;<br>&nbsp;&nbsp;&nbsp;&lt;value&gt;30&lt;/value&gt;<br>&nbsp;&nbsp;&lt;/parameter&gt;<br>&nbsp;&lt;!--&nbsp;Maximum&nbsp;time&nbsp;to&nbsp;wait&nbsp;for&nbsp;a&nbsp;dB&nbsp;connection&nbsp;to&nbsp;become&nbsp;available&nbsp;in&nbsp;ms,&nbsp;in&nbsp;this&nbsp;example&nbsp;10&nbsp;seconds.&nbsp;An&nbsp;Exception&nbsp;is&nbsp;thrown&nbsp;if&nbsp;this&nbsp;timeout&nbsp;is&nbsp;exceeded.&nbsp;&nbsp;Set&nbsp;to&nbsp;-1&nbsp;to&nbsp;wait&nbsp;indefinitely.&nbsp;&nbsp;--&gt;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&lt;parameter&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&lt;name&gt;maxWait&lt;/name&gt;<br>&nbsp;&nbsp;&nbsp;&lt;value&gt;10000&lt;/value&gt;&nbsp;&nbsp;<br>&nbsp;&nbsp;&lt;/parameter&gt;<br>&lt;/ResourceParams&gt;&lt;resource-ref&gt;<br>&nbsp;&nbsp;&lt;description&gt;MySQL&nbsp;Datasource&nbsp;example&lt;/description&gt;<br>&nbsp;&nbsp;&lt;res-ref-name&gt;jdbc/test&lt;/res-ref-name&gt;<br>&nbsp;&nbsp;&lt;res-type&gt;javax.sql.DataSource&lt;/res-type&gt;<br>&nbsp;&nbsp;&lt;res-auth&gt;Container&lt;/res-auth&gt;&nbsp;<br>&nbsp;&lt;/resource-ref&gt;</td>
        </tr>
    </tbody>
</table>
<br><br>在WEB应用的配置文件里加入以下内容：<br><br>
<table cellSpacing=1 cellPadding=4 width="98%" align=center bgColor=#bad5ef border=0>
    <tbody>
        <tr>
            <td bgColor=#e6eef7 height=25>程序代码：</td>
        </tr>
        <tr>
            <td bgColor=#ffffff>&lt;Resource&nbsp;name=<span>"jdbc/test"</span>&nbsp;auth=<span>"Container"</span>&nbsp;type=<span>"javax.sql.DataSource"</span>/&gt;&nbsp;<br>&nbsp;&lt;ResourceParams&nbsp;name=<span>"jdbc/test"</span>&gt;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&lt;parameter&gt;<br>&nbsp;&nbsp;&nbsp;&lt;name&gt;factory&lt;/name&gt;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&lt;value&gt;org.apache.commons.dbcp.BasicDataSourceFactory&lt;/value&gt;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&lt;/parameter&gt;&nbsp;&nbsp;&nbsp;<br>&nbsp;&lt;!--&nbsp;Class&nbsp;name&nbsp;for&nbsp;mm.mysql&nbsp;JDBC&nbsp;driver&nbsp;--&gt;&nbsp;&nbsp;<br>&nbsp;&nbsp;&lt;parameter&gt;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&lt;name&gt;driverClassName&lt;/name&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&lt;value&gt;org.gjt.mm.mysql.Driver&lt;/value&gt;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&lt;/parameter&gt;&nbsp;<br>&nbsp;&lt;!--&nbsp;The&nbsp;JDBC&nbsp;connection&nbsp;url&nbsp;for&nbsp;connecting&nbsp;to&nbsp;your&nbsp;MySQL&nbsp;dB.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;The&nbsp;autoReconnect=<span>true</span>&nbsp;argument&nbsp;to&nbsp;the&nbsp;url&nbsp;makes&nbsp;sure&nbsp;that&nbsp;the&nbsp;mm.mysql&nbsp;JDBC&nbsp;Driver&nbsp;will&nbsp;automatically&nbsp;reconnect&nbsp;if&nbsp;mysqld&nbsp;closed&nbsp;the&nbsp;connection.&nbsp;&nbsp;mysqld&nbsp;by&nbsp;default&nbsp;closes&nbsp;idle&nbsp;connections&nbsp;after&nbsp;8&nbsp;hours.&nbsp;--&gt;&nbsp;&nbsp;<br>&nbsp;&nbsp;&lt;parameter&gt;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&lt;name&gt;url&lt;/name&gt;<br>&nbsp;&nbsp;&nbsp;&lt;value&gt;jdbc:mysql:<span>//localhost:3306/test?autoReconnect=<span>true</span>&lt;/value&gt;</span><br>&nbsp;&nbsp;&lt;/parameter&gt;&nbsp;<br>&nbsp;&lt;!--&nbsp;MySQL&nbsp;dB&nbsp;username&nbsp;and&nbsp;password&nbsp;for&nbsp;dB&nbsp;connections&nbsp;&nbsp;--&gt;&nbsp;&nbsp;<br>&nbsp;&nbsp;&lt;parameter&gt;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&lt;name&gt;username&lt;/name&gt;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&lt;value&gt;root&lt;/value&gt;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&lt;/parameter&gt;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&lt;parameter&gt;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&lt;name&gt;password&lt;/name&gt;&nbsp;<br>&nbsp;&nbsp;&nbsp;&lt;value&gt;&lt;/value&gt;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&lt;/parameter&gt;<br>&nbsp;&lt;!--&nbsp;Maximum&nbsp;number&nbsp;of&nbsp;dB&nbsp;connections&nbsp;in&nbsp;pool.&nbsp;Make&nbsp;sure&nbsp;you&nbsp;configure&nbsp;your&nbsp;mysqld&nbsp;max_connections&nbsp;large&nbsp;enough&nbsp;to&nbsp;handle&nbsp;all&nbsp;of&nbsp;your&nbsp;db&nbsp;connections.&nbsp;Set&nbsp;to&nbsp;0&nbsp;for&nbsp;no&nbsp;limit.&nbsp;&nbsp;--&gt;<br>&nbsp;&nbsp;&lt;parameter&gt;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&lt;name&gt;maxActive&lt;/name&gt;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&lt;value&gt;100&lt;/value&gt;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&lt;/parameter&gt;&nbsp;&nbsp;<br>&nbsp;&lt;!--&nbsp;Maximum&nbsp;number&nbsp;of&nbsp;idle&nbsp;dB&nbsp;connections&nbsp;to&nbsp;retain&nbsp;in&nbsp;pool.&nbsp;Set&nbsp;to&nbsp;0&nbsp;for&nbsp;no&nbsp;limit.&nbsp;--&gt;&nbsp;&nbsp;<br>&nbsp;&nbsp;&lt;parameter&gt;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&lt;name&gt;maxIdle&lt;/name&gt;<br>&nbsp;&nbsp;&nbsp;&lt;value&gt;30&lt;/value&gt;<br>&nbsp;&nbsp;&lt;/parameter&gt;<br>&nbsp;&lt;!--&nbsp;Maximum&nbsp;time&nbsp;to&nbsp;wait&nbsp;for&nbsp;a&nbsp;dB&nbsp;connection&nbsp;to&nbsp;become&nbsp;available&nbsp;in&nbsp;ms,&nbsp;in&nbsp;this&nbsp;example&nbsp;10&nbsp;seconds.&nbsp;An&nbsp;Exception&nbsp;is&nbsp;thrown&nbsp;if&nbsp;this&nbsp;timeout&nbsp;is&nbsp;exceeded.&nbsp;&nbsp;Set&nbsp;to&nbsp;-1&nbsp;to&nbsp;wait&nbsp;indefinitely.&nbsp;&nbsp;--&gt;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&lt;parameter&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&lt;name&gt;maxWait&lt;/name&gt;<br>&nbsp;&nbsp;&nbsp;&lt;value&gt;10000&lt;/value&gt;&nbsp;&nbsp;<br>&nbsp;&nbsp;&lt;/parameter&gt;<br>&lt;/ResourceParams&gt;&nbsp;</td>
        </tr>
    </tbody>
</table>
<br><br>&nbsp;<br><br>8. &nbsp;tomcat连接池的配置 &nbsp;<br><br>
<table cellSpacing=1 cellPadding=4 width="98%" align=center bgColor=#bad5ef border=0>
    <tbody>
        <tr>
            <td bgColor=#e6eef7 height=25>程序代码：</td>
        </tr>
        <tr>
            <td bgColor=#ffffff>&lt;Resource&nbsp;name=<span>"jdbc/testDB"</span>&nbsp;auth=<span>"Container"</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type=<span>"javax.sql.DataSource"</span>/&gt;&nbsp;<br>&lt;ResourceParams&nbsp;name=<span>"jdbc/testDB"</span>&gt;<br>&nbsp;&nbsp;&nbsp;&lt;parameter&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;name&gt;factory&lt;/name&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value&gt;org.apache.commons.dbcp.BasicDataSourceFactory&lt;/value&gt;<br>&nbsp;&nbsp;&nbsp;&lt;/parameter&gt;<br>&nbsp;&nbsp;&nbsp;&lt;parameter&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;name&gt;driverClassName&lt;/name&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value&gt;com.microsoft.jdbc.sqlserver.SQLServerDriver&lt;/value&gt;<br>&nbsp;&nbsp;&nbsp;&lt;/parameter&gt;<br>&nbsp;&nbsp;&nbsp;&lt;parameter&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;name&gt;url&lt;/name&gt;<br>&lt;value&gt;jdbc:microsoft:sqlserver:<span>//218.246.85.65:1433;DatabaseName=ZCMIS&lt;/v</span><br><br>alue&gt;<br>&nbsp;&nbsp;&nbsp;&lt;/parameter&gt;<br>&nbsp;&nbsp;&nbsp;&lt;parameter&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;name&gt;username&lt;/name&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value&gt;sa&lt;/value&gt;<br>&nbsp;&nbsp;&nbsp;&lt;/parameter&gt;<br>&nbsp;&nbsp;&nbsp;&lt;parameter&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;name&gt;password&lt;/name&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value&gt;sa&lt;/value&gt;<br>&nbsp;&nbsp;&nbsp;&lt;/parameter&gt;<br>&nbsp;&nbsp;&nbsp;&lt;parameter&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;name&gt;maxActive&lt;/name&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value&gt;30&lt;/value&gt;<br>&nbsp;&nbsp;&nbsp;&lt;/parameter&gt;<br>&nbsp;&nbsp;&nbsp;&lt;parameter&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;name&gt;maxIdle&lt;/name&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value&gt;10&lt;/value&gt;<br>&nbsp;&nbsp;&nbsp;&lt;/parameter&gt;<br>&nbsp;&nbsp;&nbsp;&lt;parameter&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;name&gt;maxWait&lt;/name&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;value&gt;1000&lt;/value&gt;<br>&nbsp;&nbsp;&nbsp;&lt;/parameter&gt;<br>&lt;/ResourceParams&gt;</td>
        </tr>
    </tbody>
</table>
<br><br><br>把下面的东西加到web.xml中<br><br>
<table cellSpacing=1 cellPadding=4 width="98%" align=center bgColor=#bad5ef border=0>
    <tbody>
        <tr>
            <td bgColor=#e6eef7 height=25>程序代码：</td>
        </tr>
        <tr>
            <td bgColor=#ffffff><br>&nbsp;&nbsp;&nbsp;&lt;resource-ref&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;description&gt;DB&nbsp;Connection&lt;/description&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;res-ref-name&gt;jdbc/testDB&lt;/res-ref-name&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;res-type&gt;javax.sql.DataSource&lt;/res-type&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;res-auth&gt;Container&lt;/res-auth&gt;<br>&nbsp;&nbsp;&lt;/resource-ref&gt;</td>
        </tr>
    </tbody>
</table>
<br><br>类的内部实现<br><br>
<table cellSpacing=1 cellPadding=4 width="98%" align=center bgColor=#bad5ef border=0>
    <tbody>
        <tr>
            <td bgColor=#e6eef7 height=25>程序代码：</td>
        </tr>
        <tr>
            <td bgColor=#ffffff>&nbsp;<span>try</span>{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Context&nbsp;initCtx&nbsp;=&nbsp;<span>new&nbsp;</span>InitialContext();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Context&nbsp;ctx&nbsp;=&nbsp;(Context)&nbsp;initCtx.lookup(<span>"java:comp/env"</span>);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span>//获取连接池对象</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Object&nbsp;obj&nbsp;=&nbsp;(Object)&nbsp;ctx.lookup(<span>"jdbc/testDB"</span>);&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;javax.sql.DataSource&nbsp;ds&nbsp;=&nbsp;(javax.sql.DataSource)obj;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Connection&nbsp;conn&nbsp;=&nbsp;ds.getConnection();<br><br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;<span>catch</span>(Exception&nbsp;e)<br>&nbsp;{&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;System.out.print(e.toString());<br>&nbsp;}</td>
        </tr>
    </tbody>
</table>
</div>
<span id=dissub2>
<div id=blog_sub_st name="blog_sub_st"><br></div>
</span>
<img src ="http://www.blogjava.net/linden/aggbug/122414.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/linden/" target="_blank">Linden.zhang</a> 2007-06-06 17:31 <a href="http://www.blogjava.net/linden/articles/122414.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>