AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > JSP

mysql连接池连接JSP

51自学网 http://www.51zixue.net

原帖地址及讨论:http://bbs.bccn.net/thread-81067-1-1.html

弄了好几天了的连接池!终于连上了!感觉很爽!跟大家分享一下!这个只是一种方法!好象还有另外一种!

现在假如项目目录名为: 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>


次文件为连接池配置文件。
将次文件放在  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;
        }
        
    }
}

写好这个类后,项目中的任何JSP,SERVLET都可以把该包进行导入!
直接调用次类就可以进行数据库连接池的连接了
我个人感觉这个方法比较简单 每个项目写这个XML文件就可以了!不用去配置其他文件!
如有那些地方不妥!请大家指正!

 

 

 
上一篇:Servlets和JSP开发原则  下一篇:返回列表