Jsp+mysql 数据库连接池配置案例

为了提高数据库访问效率,将数据库连接交付给连接池管理。

配置方法如下:

Step 1、将mysql 数据库连接驱动放入到%tomcat%/common/lib 下;

Step 2、在tomcat conf目录下的server.xml文件中的

<GlobalNamingResources> </GlobalNamingResources>节点中加入,

<Resource

    name=”jdbc/DBPool”

    type=”javax.sql.DataSource”

    username=”root”    //database’s username

    password=”admin”        //database’s password

    driverClassName=”com.mysql.jdbc.Driver”

    url=”jdbc:mysql://localhost:3306/test”

    maxActive=”4”      //最大连接数0表示无限制

    maxIdle=”2”   //最大空闲数 0表示无限制

    maxWait=”5000”    //最大连接建立等待时间 -1表示无限制

</Resource>

Step 3、在项目的web.xml 中的<web-app></web-app>节点中加入:

       <resource-ref>

              <description>database pool</description>

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

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

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

              <res-sharing-scope>shareable</res-sharing-scope>

       </resource-ref>

Step 4、在项目的META-INF 下建立context.xml,内容如下:

       <?xml version="1.0" encoding="UTF-8"?>

<Context path="/">

    <ResourceLink name="jdbc/DBPool" type="javax.sql.DataSource" global="jdbc/DBPool"/>

</Context>

Step 5、编写DatabasePool类,具体代码如下:

       import java.sql.Connection;

       import java.sql.SQLException;

       import javax.sql.DataSource;

       import javax.naming.Context;

       import javax.naming.InitialContext;

       import javax naming.NamingException;

       public class DatabasePool  throws SQLException{

       public Connection getConnection(){

       DataSource ds=null;

       Connection conn=null;

       try{

       Context ct=new InitialContext();

       ds=(DataSource)ct.lookup(“java:comp/enc/jdbc/DBPool”);

       Conn=ds.getConnection();

}catch(NamingException e){

       //process the exception

}

return conn;

}

}

Step 6、在jspactionservlet中调用DatabasePool类中的getCnnection方法便可。

数据库连接池配置<br><br>环境:xp2+IE7.0+tomcat5.028+mysql5.018<br><br>1.假定tomcat 安装目录为:D:\Tomcat5<br><br>2.假定程序目录为: D:\web\WebRoot<br><br> 目录设置请看WebRoot.xml 中有下面这句代码:<br><br> <Context path="/WebRoot" docBase="D:/web/WebRoot" debug="0" reloadable="true" ><br><br>3.假定mysql数据库名为:mydb,登录用户名为:root,密码为:123<br> 请看WebRoot.xml 中有下面这句代码:<br><br> <parameter><br> <name>username</name><br> <value>root</value><br> </parameter><br> <parameter><br> <name>password</name><br> <value>123</value><br> </parameter><br><br> <parameter><br> <name>url</name><br> <value>jdbc:mysql://localhost:3306/mydb?autoReconnect=true</value><br> </parameter><br><br><br>4. 请将 WebRoot.xml copy到<br> D:\Tomcat5\conf\Catalina\localhost\下<br> 数据库配置就在这个文件中<br><br>5. 文件mysql-connector-java-5.0.5-bin.jar 存放于<br> D:\web\WebRoot\WEB-INF\Lib\下,最好在也存一个在<br> D:\Tomcat5\common\lib\下<br><br>6. 我所有配置都没有设计到tomcat的server.xml,有的人在这个文件中做了数据库<br> 的配置是没有必要的,因为WebRoot.xml已经有了这些配置。<br><br>7. web.xml配置 <br><br><web-app xmlns="http://java.sun.com/xml/ns/j2ee"<br> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br> xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee<br>http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"<br> version="2.4"><br> <description>MySQL Connection</description><br> <resource-ref><br> <description>DB Connection</description><br> <res-ref-name>jdbc/mysql</res-ref-name><br> <res-type>javax.sql.DataSource</res-type><br> <res-auth>Container</res-auth><br> </resource-ref><br><br></web-app><br><br>8 .<br> <!-- <br> ======================================================<br> 数据库操作 采用JNDI 连接<br> <br> ======================================================<br>--><br> <%<br> Context ctx=new InitialContext();<br> if(ctx==null)<br> {throw new Exception("没有匹配的环境"); }<br> DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/mysql");<br> if(ds==null)<br> {throw new Exception("没有匹配数据库"); }<br> <br> con=ds.getConnection();<br><br> sql=con.createStatement();<br> <br>%><br><br><br>附:<br><br>最后完成的目录及文件:<br><br>1)D:\Tomcat5\conf\Catalina\localhost\WebRoot.xml <br><br>2)D:\web\WebRoot\WEB-INF\web.xml<br><br><br>3) D:\web\WebRoot\WEB-INF\lib\mysql-connector-java-5.0.5-bin.jar<br> D:\Tomcat5\common\lib\mysql-connector-java-5.0.5-bin.jar(不是必须的)<br><br>4)D:\web\WebRoot\ mysql_JNDI.jsp<br><br><br>最后运行:<br> http://localhost/WebRoot/mysql_JNDI.jsp (我的端口号: 80)<br><br>OK<br>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值