1. 进入tomcat目录下的conf文件夹目录里,找到server.xml
在tomcat的server.xml文件中在</context>标签与</host>标签里,定议连接语句,格式如下
<!—path定议你的应用程序的目录所 ,/dbtest表示在tomcat webapps目录下à
<!—docbase=”dbtest” 表示你执行止程序时路径名称,例如以下的执行路径就是http://localhost:8080/dbtest–>
<context path=”/dbtest” docbase=”dbtest”
debug=”5″ reloadable=”true” crosscontext=”true”>
<!– maxactive: 连接池的最大数量,要确保有足够的连接数–>
<!– maxidle: 最大空闲连接数,设置为-1即表示不限制–>
<!– maxwait:最长等待连接时间(最大等待连接池反回可用的时间), 以纳秒为单位,即设为10000相等于10秒,如果设置成-1表示不确定–>
<!– username and password: 连接数据库使用的帐号与密码 –>
<!– driverclassname:连接数据库的驱动程序,如sqlserver就是
com.microsoft.jdbc.sqlserver.sqlserverdriver.–>
<!– url: 连接数据库路径,如
jdbc:microsoft:sqlserver://localhost:1433;databasename=kb_rate–>
<resource name=” default_jdbc ” auth=”container” type=”javax.sql.datasource”
maxactive=”100″ maxidle=”30″ maxwait=”10000″
username=”javauser” password=”javadude”
driverclassname=” com.microsoft.jdbc.sqlserver.sqlserverdriver “
url=” jdbc:microsoft:sqlserver://localhost:1433;databasename=kb_rate””/>
</context>
配置完成后,在dbtest目录下添加一个test文件,如下:
<%@ page contenttype=”text/html;charset=gb2312″%>
<%@ page import=”java.sql.*”%>
<%@ page import=”javax.sql.*”%>
<%@ page import=”javax.naming.*”%>
<%
connection conn = null;
context initctx = new initialcontext();
if (initctx == null)
throw new exception(“不能获取context!”);
context ctx = (context) initctx.lookup(“java:comp/env”);
object obj = (object) ctx.lookup(“/default_jdbc “);//获取连接池对象
javax.sql.datasource ds = (javax.sql.datasource) obj; //类型转换
conn = ds.getconnection();
statement stmt = conn.createstatement();
preparedstatement ps=conn.preparestatement(“select * from finalorderdata”);
resultset rs=ps.executequery();
while(rs.next()){
out.println(rs.getstring(1)+”<br>”);
i++;
}
rs.close();
stmt.close();
conn.close();
out.println(“连接池测试成功”+i);
到于tomcat5.0版本的设置也是差不多,不过在server.xml中添加连接池设置语句上有所有不,可参考
其它操作也是差不多,
<context path=”/dbtest” docbase=”dbtest”
debug=”5″ reloadable=”true” crosscontext=”true”>
<context path=”/dbtest” docbase=”dbtest”
debug=”5″ reloadable=”true” crosscontext=”true”>
<logger classname=”org.apache.catalina.logger.filelogger”
prefix=”localhost_dbtest_log.” suffix=”.txt”
timestamp=”true”/>
<resource name=”jdbc/testdb”
auth=”container”
type=”javax.sql.datasource”/>
<resourceparams name=”jdbc/testdb”>
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.basicdatasourcefactory</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 -1 for no limit. see also the dbcp documentation on this
and the minevictableidletimemillis configuration parameter.
–>
<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>
<!– mysql db username and password for db connections –>
<parameter>
<name>username</name>
<value>javauser</value>
</parameter>
<parameter>
<name>password</name>
<value>javadude</value>
</parameter>
<!– class name for the old mm.mysql jdbc driver – uncomment this entry and comment next
if you want to use this driver – we recommend using connector/j though
<parameter>
<name>driverclassname</name>
<value>org.gjt.mm.mysql.driver</value>
</parameter>
–>
<!– class name for the official mysql connector/j driver –>
<parameter>
<name>driverclassname</name>
<value>com.mysql.jdbc.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/javatest?autoreconnect=true</value>
</parameter>
</resourceparams>
</context>
有不足的地方,请各为指正!
还有,的就是请大虾门可以告诉一下小弟,如何设置法才能让连接池做到最高效,因为我试过用tomcat连接池连池,发现比较慢,反应较久,我不知道设错了那里,,!!我的设置如下:
<context path=”/kb_rate” docbase=”/kb_rate”
debug=”5″ reloadable=”true” crosscontext=”true”>
<resource name=”default_jdbc” auth=”container” type=”javax.sql.datasource”
maxactive=”100″ maxidle=”30″ maxwait=”10000″
username=”sa” password=”1234″
driverclassname=”com.microsoft.jdbc.sqlserver.sqlserverdriver”
url=”jdbc:microsoft:sqlserver://127.0.0.1:1433;databasename=kb_rate”/>
</context>
