实例_mysql连接池连接JSP

项目目录名为:test
MYSQL 用户名:root    密   码:jsp
数据库名称: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文件就可以了!不用去配置其他文件!
如有那些地方不妥!请大家指正!

数据库连接池配置<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、付费专栏及课程。

余额充值