Tomcat5配置mysql

我已经成功配置了,各位高手可能有其他的配置方案或者步骤,比我的简洁、有效;我这只是个简单的演示,希望大家发现问题后能给我指点一下哈~我的邮件:patriotlml@gmail.com

我用的是mysql5.0+tomcat5.5XX,步骤如下:
第一:下载MySQL的JDBC驱动,拷贝至$TOMCAT_HOME/common/lib/目录下
第二:配置Tomcat数据源(注意:tomcat5和tomcat5.5数据源配置是有差异的,此处为5.5的)
      修改$TOMCAT_HOME/conf/server.xml,在</Host>前加上:


      <Context path="/yourapp" docBase="yourapp"
         debug= "99" reloadable="true" crossContext="true" verbosity="DEBUG">
        <Resource name="jdbc/yourresourcename" auth="Container"
                  type="javax.sql.DataSource" password="admin"
                  driverClassName="com.mysql.jdbc.Driver"
                  maxIdle="2"
                  maxWait="5000"
                  username="root"
                  url="jdbc:mysql://localhost:3306/yourdatabase?autoReconnect=true"
                  maxActive="4"/>
     </Context>

   注意,在每个web应用中都要在server.xml中定义此webapp的Resource.
   其中各项的意义见附注。
第三:声明你的资源引用
     这里我们为JDBC数据源建立的JNDI资源名为“jdbc/exam”,需要在web应用部署描述文件web.xml中     添加资源声明:


     <resource-ref>
         <description>
           Resource reference to a factory for java.sql.Connection
           instances that may be used for talking to a particular
           database that is configured in the server.xml file.
         </description>
         <res-ref-name>
           jdbc/exam
         </res-ref-name>
         <res-type>
           javax.sql.DataSource
         </res-type>
         <res-auth>
           Container
         </res-auth>
    </resource-ref>


第四:使用
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource)envCtx.lookup("jdbc/exam");
Connection conn = ds.getConnection();
... use this connection to access the database ...
conn.close();//
这里并不是真正的关闭,而是释放到数据库连接池中

注意:Tomcat5.5不支持ConnectionPoolDataSource接口。
第五: 参考
* http://tomcat.apache.org/tomcat-5.5-doc/jndi-resources-howto.html


附注如下:

Tomcat标准数据源资源工厂配置项如下:
* driverClassName - 所使用的JDBC驱动类全称。
* maxActive - 同一时刻可以自数据库连接池中被分配的最大活动实例数。
* maxIdle - 同一时刻数据库连接池中处于非活动状态的最大连接数。
* maxWait - 当连接池中没有可用连接时,连接池在抛出异常前将等待的最大时间,单位毫秒。
* password - 传给JDBC驱动的数据库密码。
* url - 传给JDBC驱动的连接URL。
* user - 传给JDBC驱动的数据库用户名。
* validationQuery - 一个SQL查询语句,用于在连接被返回给应用前的连接池验证。如果指定了该属性,则必为至少返回一行记录的SQL SELECT语句。

原文地址:https://www.cnblogs.com/kentyshang/p/873083.html