Tomcat6.x 与mysql 局部数据库连接池配置

转自:http://qzxfl008.iteye.com/blog/791819

这几天,老师要让我负责数据库连接池,之前配置的连接池是在tomcat6.x中,是全局的,但老师要求我们要局部的,这样方便将来修改容易。 

网上查资料查了很多,现在整理下。我的是在tomcat6.x中配置的 

1、配置 context.xml文件将,放在工程的META-INF目录下,注意不是在WEB-INF下。 ps:目录千万别放错,正式因为我放错目录导致我浪费N长时间来处理问题

Cannot create JDBC driver of class '' for connect URL 'null'

其中<context 里的path等可以有,也可以无 
Java代码   收藏代码
  1. <Context  
  2.  path="/spp" docBase="spp"  
  3.         debug="5" reloadable="true" crossContext="true" >  
  4. <Resource name="jdbc/mysqlds"   
  5.     auth="Container"  
  6.     type="javax.sql.DataSource"  
  7.     driverClassName="com.mysql.jdbc.Driver"  
  8.     url="jdbc:mysql://localhost:3306/spms?autoReconnect=true"  
  9.     username="root"  
  10.     password=""  
  11.     maxActive="100"  
  12.     maxIdle="30"  
  13.     maxWait="10000"  
  14. />  
  15. </Context>  


2、在WEB-INF下的web.xml中添加如下代码,这段可有可无 

Java代码   收藏代码
  1. <resource-ref>    
  2.         <description>MySQL DataSource</description>    
  3.          <res-ref-name>jdbc/mysqlds</res-ref-name>       
  4.         <res-type>javax.sql.DataSource</res-type>    
  5.         <res-auth>Container</res-auth>    
  6.    </resource-ref>    


3、不要忘了加驱动jar包mysql-connector-java-5.1.12-bin.jar 
放在WebRoot/WEB-INF/lib/下 

4、测试代码 
Java代码   收藏代码
  1. <%@ page language="java" contentType="text/html; charset=GB18030"   pageEncoding="GB18030"%>     
  2.          
  3. <%@ page import="java.sql.*" %>    
  4. <%@ page import="javax.naming.*" %>      
  5. <%@ page import="javax.sql.DataSource" %>  
  6. <%     
  7. try    
  8. {     
  9.   //初始化Context     
  10.  Context initCtx = new InitialContext();  
  11.                 System.out.println(initCtx);  
  12.                 Context envCtx = (Context)initCtx.lookup("java:comp/env");  
  13.                 System.out.println(envCtx);  
  14.                 DataSource ds = (DataSource)envCtx.lookup("jdbc/mysqlds");  
  15.     System.out.println(ds);    
  16.    Connection conn = ds.getConnection();     
  17.    Statement stmt = conn.createStatement();     
  18.          
  19.     //获取服务器端时间,适用于MySQL(还有current_time(),current_date()等)     
  20.     //MS SQLServer为getDate()     
  21.     String strSQL = "select current_timestamp()";     
  22.     ResultSet rs = stmt.executeQuery(strSQL);     
  23.     rs.next();     
  24.    Timestamp date = rs.getTimestamp(1);     
  25.     out.print(date.toString());     
  26.    rs.close();     
  27.          
  28.    stmt.close();     
  29.     conn.close();     
  30. }catch(Exception e)     
  31. {     
  32.   out.print("错误"+e.getMessage());     
  33. }     
  34. %>     
  35. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">     
  36. <html>     
  37. <head>     
  38. <meta http-equiv="Content-Type" content="text/html; charset=GB18030">     
  39. <title>test</title>     
  40. </head>     
  41. <body>     
  42.     
  43. </body>     
  44. </html>    


你可能感兴趣的:(java,tomcat,mysql,jdbc,数据库连接池,服务器)