mysql连接池连接JSP
弄了好几天了的连接池!终于连上了!感觉很爽!跟大家分享一下!这个只是一种方法!好象还有另外一种!
现在假如项目目录名为: test
MYSQL数据库用户名为:root ,数据库密码为:jsp
MYSQL建立一个数据库为:jsptest
首先写一个跟开发项目名相同的xml文件:test.xml
程序代码:
<Context path="/test" reloadable="true" docBase="test">
<Resource name="jdbc/jsptest" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/jsptest">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>username</name>
<value>root</value>
</parameter>
<parameter>
<name>password</name>
<value>jsp</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost:3306/jsptest?autoReconnect=true</value>
</parameter>
<parameter>
<name>initialSize</name>
<value>20</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>30</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
</ResourceParams>
</Context>
<Context path="/test" reloadable="true" docBase="test">
<Resource name="jdbc/jsptest" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/jsptest">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>username</name>
<value>root</value>
</parameter>
<parameter>
<name>password</name>
<value>jsp</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost:3306/jsptest?autoReconnect=true</value>
</parameter>
<parameter>
<name>initialSize</name>
<value>20</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>30</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
</ResourceParams>
</Context>
次文件为连接池配置文件。
将次文件放在 tomcat5\conf\Catalina\localhost 目录下!
然后写一个取得数据库连接池连接的类: DatabaseConnection.java
程序代码:
package test;
import java.sql.*;
import javax.naming.*;
import javax.sql.DataSource;
public class DatabaseConnection {
public static Connection getConnection() throws SQLException,NamingException
{
try
{
Context initCtx = new javax.naming.InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource)envCtx.lookup("jdbc/jsptest");
return ds.getConnection();
}
catch(SQLException e)
{
throw e;
}
catch(NamingException e)
{
throw e;
}
}
}
package test;
import java.sql.*;
import javax.naming.*;
import javax.sql.DataSource;
public class DatabaseConnection {
public static Connection getConnection() throws SQLException,NamingException
{
try
{
Context initCtx = new javax.naming.InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource)envCtx.lookup("jdbc/jsptest");
return ds.getConnection();
}
catch(SQLException e)
{
throw e;
}
catch(NamingException e)
{
throw e;
}
}
}
写好这个类后,项目中的任何JSP,SERVLET都可以把该包进行导入!
直接调用次类就可以进行数据库连接池的连接了
我个人感觉这个方法比较简单 每个项目写这个XML文件就可以了!不用去配置其他文件!
如有那些地方不妥!请大家指正!