tomcat+mysql数据库的连接池配置

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

1)下载mm.mysql-2.0.14-bin.jar包,放在tomcat目录下的common/lib文件夹中

2)在tomcat目录下的conf/server.xml中的</Host>前加入(注意:全部大写的地方要替换成你自己的东西)

<!--for mysql database connection pool-->

<Context path="/APPLICATION_NAME" docBase="APPLICATIOIN_NAME" debug="5" reloadable="true" crossContext="true">

<Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_DBTest_log." suffix=".txt" timestamp="true"/>

<Resource name="jdbc/DATABASE_NAME" auth="Container" type="javax.sql.DataSource"/>

<ResourceParams name="jdbc/DATABASE_NAME">

<parameter>

<name>factory</name>

<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>

</parameter>

<!-- Class name for mm.mysql JDBC driver -->

<parameter>

<name>driverClassName</name>

<value>org.gjt.mm.mysql.Driver</value>

</parameter>

<!-- The JDBC connection url for connecting to your MySQL dB.

The autoReconnect=true argument to the url makes sure that the

mm.mysql JDBC Driver will automatically reconnect if mysqld closed

the connection. mysqld by default closes idle connections after 8 hours.-->

<parameter>

<name>url</name>

<value>jdbc:mysql://localhost:3306/DATABASE_NAME?autoReconnect=true</value>

</parameter>

<!-- MySQL dB username and password for dB connections -->

<parameter>

<name>username</name>

<value>DB_USERNAME</value>

</parameter>

<parameter>

<name>password</name>

<value>DB_PASSWORD</value>

</parameter>

<!-- Maximum number of dB connections in pool. Make sure you

configure your mysqld max_connections large enough to handle

all of your db connections. Set to 0 for no limit.-->

<parameter>

<name>maxActive</name>

<value>100</value>

</parameter>

<!-- Maximum number of idle dB connections to retain in pool.

Set to 0 for no limit. -->

<parameter>

<name>maxIdle</name>

<value>30</value>

</parameter>

<!-- Maximum time to wait for a dB connection to become available in ms,

in this example 10 seconds. An Exception is thrown if this timeout

is exceeded. Set to -1 to wait indefinitely.-->

<parameter>

<name>maxWait</name>

<value>10000</value>

</parameter>

</ResourceParams>

</Context>

这样就算连接完了

3)测试:

DATABASE_NAME:testdb

APPLICATION_NAME:mysqlTest

在testdb数据库里新建表userinfo

id | username

1 aaa

2 bbb

4)web.xml

<web-app>

<resource-ref>

<description>MySQL Datasource example</description>

<res-ref-name>jdbc/testdb</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Container</res-auth>

</resource-ref>

</web-app>

5)index.jsp

<%@ page contentType="text/html;charset=gb2312" language="java" import="java.sql.*,javax.naming.*"%>

<% Context initCtx = new InitialContext();

Context ctx = (Context) initCtx.lookup("java:comp/env");

Object obj = (Object) ctx.lookup("jdbc/testdb");

javax.sql.DataSource ds = (javax.sql.DataSource)obj;

Connection conn = ds.getConnection();

Statement stmt = conn.createStatement();

String strSql = "select * from userinfo";

ResultSet rs = stmt.executeQuery(strSql);%>

<body>

<%while(rs.next()){%>

<p>

<%=rs.getString("username")%>

</p>

<%}%>

<body>

可以看到输出结果为:

aaa

bbb

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航