一、tomcat5.5的数据库连接池配置(tomcat不与Eclipse整合)

一、tomcat5.5的数据库连接池配置(tomcat不与Eclipse整合)

 1,在Tomcat5.5\conf\server.xml的GlobalNamingResources里添加:

        <Resource
        name="jdbc/mysql"
       type="javax.sql.DataSource"
        maxActive="4"
        maxIdle="2"
        username="root"
        maxWait="5000"
       driverClassName="com.mysql.jdbc.Driver"
        password="123456"
        url="jdbc:mysql://localhost:3306/forum"/>

 2,在context.xml添加:(这一步是使得每一个项目都能够用到第一步所配置的连接池)
 
  <ResourceLink global="jdbc/mysql" name="jdbc/mysql" type="javax.sql.DataSource"/>


 3,测试文件:
    
     <%@ page language="java" contentType="text/html; charset=GB18030"
    
         pageEncoding="GB18030"%>
    
     <%@ page import="java.sql.*"%>
    
     <%@ page import="javax.sql.*"%>
    
     <%@ page import="javax.naming.*"%>
    
     <%@ page session="false"%>
    
    
     <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    
     <html>
    
         <head>
    
            <meta http-equiv="Content-Type" content="text/html; charset=GB18030">
    
            <title>test for DB connection</title>
    
            <%
    
                out.print("beginning testing...");
    
                out.print("<br>");
    
                DataSource ds = null;
    
                try {
    
                   InitialContext ctx = new InitialContext();
                  
            out.println("1");
                   ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mysql");
     out.println(ds);
                   Connection conn = ds.getConnection();
    
                   Statement stmt = conn.createStatement();
    
                   // test是数据库已有的表,
    
                   //这里的数据库是前文提及的Data Source URL配置里包含的数据库。
    
                   String strSql = " select * from user";
    
                   ResultSet rs = stmt.executeQuery(strSql);
    
                   while (rs.next()) {
    
                       out.print(rs.getString(1));
    
                   }
    
                   out.print("<br>");
    
                   out.print("end testing.");
    
                } catch (Exception ex) {
    
                   out.print("error:" + ex.getMessage());
    
                   ex.printStackTrace();
    
                }
    
            %>
    
         </head>
    
         <body>
    
         </body>
    
     </html>

二、在Eclipse中创建一个与Tomcat相关联的Service后,Tomcat数据库连接池的配置

  1,首先配置Tomcat自己的数据库连接池,方法同情况一。
 
     这一步通过实验得知,即使这里不配置,也行。
     Eclipse帮我们通过安装的Tomcat创建了一个Eclipse自己的server,这个server和我们安装的Tomcat服务器是分开的、独立的,    这个server有自己的server.xml和web.xml。
     当我们配置连接池的时候只需要下面两步就可以了。
     与配置Tomcat的连接池不同的是,Eclipse帮我们生成的服务器没有context.xml;
     所以我们就通过第3步来使用我们在第二步所配置的连接池。
    
    
  2,在Eclipse中打开Server中的server.xml然后也要添加:
     <Resource
        name="jdbc/mysql"
       type="javax.sql.DataSource"
        maxActive="4"
        maxIdle="2"
        username="root"
        maxWait="5000"
       driverClassName="com.mysql.jdbc.Driver"
        password="123456"
        url="jdbc:mysql://localhost:3306/forum"/>


   3,在最下面的<host><Context></Context></Host>中添加ResourceLink:
  
       <Context docBase="forum" path="/forum" reloadable="true" source="org.eclipse.jst.j2ee.server:forum">
         <ResourceLink global="jdbc/mysql" name="jdbc/mysql" type="javax.sql.DataSource"/>
       </Context>
      
   4,在你的项目的web.xml的<web-app></web-app>中添加如下:
      <resource-ref>
     <description>DB Connection</description>
     <res-ref-name>jdbc/mysql</res-ref-name>
     <res-type>javax.sql.DataSource</res-type>
     <res-auth>Container</res-auth>
   </resource-ref>
  
 5可以写一个类进行测试:
    import java.sql.*;
import javax.naming.*;
import javax.sql.*;

public class DataBase
{
 
 private String name="";
 
 public String execute()
 {
  DataSource ds = null;
  try{
    InitialContext ctx = new InitialContext();

             ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mysql");
            
             System.out.println(ds);
            
             Connection conn = ds.getConnection();

             Statement stmt = conn.createStatement();

             // test是数据库已有的表,

             //这里的数据库是前文提及的Data Source URL配置里包含的数据库。

             String strSql = " select * from user";

             ResultSet rs = stmt.executeQuery(strSql);

             while (rs.next()) {

                 System.out.println(rs.getString(1));

             }
            
             conn.close();
             stmt.close();

  }
  catch (Exception e)
  {
   e.printStackTrace();
   System.out.print(e.getMessage());
  }
  return "success";
 
 }
}

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lddzmy1234/archive/2008/09/18/2947761.aspx

你可能感兴趣的:(eclipse,tomcat,mysql,SQL Server,jdbc)