帖一篇我收藏: 在window2000平台下配置Tomcat4.1.8、mysql、jdk1.4.1
希望对你有帮助!!
--------------------------------------------------------------------- 1、所需文件如下:j2sdk1.4.1_01, 可以到java.sun.com网站上下载。
                   Tomcat4.1.8, 可以到jakarta.apache.org网站上下载.
                   mysql3.23.42-win.exe, 可以到www.mysql.com上去下载。
                   mm.mysql.jdbc-1.2c.tar.gz, 可以到mysql网站上下载。
  2、先配置jdk, 在“我的电脑”上电击鼠标右键-->属性-->高级-->环境变量
                设置CLASSPATH=.;c:\j2sdk1.4.1_01\lib;c:\j2sdk1.4.1_01\lib\dt.jar;
                    C:\j2sdk1.4.1_01\lib\tools.jar
                设置path=C:\j2sdk1.4.1_01\bin
                设置JAVA_HOME=C:\j2sdk1.4.1_01
  3、安装Tomcat到C:/tomcat4.1下
  4、安装mysql到C:/mysql下
  5、配置jdbc:
                把mm.mysql.jdbc-1.2c.tar.gz解压缩到C:\mm.mysql.jdbc-1.2c下,
                在“我的电脑”上电击鼠标右键-->属性-->高级-->环境变量,设置CLASSPATH如下
                C:\mm.mysql.jdbc-1.2c;C:\mm.mysql.jdbc-1.2c\mysql_comp.jar;
                C:\mm.mysql.jdbc-1.2c\mysql_uncomp.jar;
                如果在Tomcat环境下连接mysql数据库的话须把C:\mm.mysql.jdbc-1.2c.jar和                mysql_comp.jar和mysql_uncomp.jar复制到C:/tomcat4.1/common/lib/下。
  6、用jsp文件来测试以上配置
           mysqltest.jsp
            html>
    <head>
    <title>MySQL连接测试</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head>
    <body bgcolor="#FFFFFF" text="#000000">
    <center><p><h4><font color="blue">建立连接</font></h4></p>
    <%@ page contentType="text/html;charset=gb2312" %> 
    <%@ page language="java" import="java.sql.*" %>
    <%
      String DriverStr = "org.gjt.mm.mysql.Driver";
      String ConnStr =                "jdbc:mysql://localhost:3306/my_test?useUnicode=true&characterEncoding=gb2312";
      String user="root";
      String password="";
    try 
    {
        Class.forName(DriverStr).newInstance(); 
        Connection databaseConnection = DriverManager.getConnection(ConnStr,user,password); 
        out.println("数据库连接成功!"); 
        databaseConnection.close(); 
    } 
    catch(ClassNotFoundException e)
    {
        out.println("驱动错误: " + e.getMessage());
    }
    catch (SQLException E) 
    { 
        out.println("SQLException: " + E.getMessage()); 
        out.println("SQLState: " + E.getSQLState()); 
        out.println("VendorError: " + E.getErrorCode()); 
    } 
   %>    </center></body>
   </html>
  7、在浏览器中输入http://localhost:8080/mysqltest.jsp
        出现:连接数据库
               数据库连接成功!  一切配置成功。
  8、配置jbuilder7连接mysql数据库
     一、下载mysql的jdbc_api,org.gjt.mm.mysql.Driver
     二、安装好jdbc后,假如目录在C:\Program Files\mysql_jdbc,选择Tools-->Configure Libraries,然         后在左边的列表框下选择New,填入:Name:sql,Location:User Home,然后点击Add,加入        目录C:\Program Files\mysql_jdbc,确定
     三、Project-->Prject Properties-->Paths-->Required Libraries-->Add
         加入刚才添加的User Home/sql确定
     四、Tools-->Enterprise Setup-->Database Drivers-->Add,加入User Home/sql,添加之后在列表框中          显示的是sql.config,确定,重新启动JBuilder
     五、Tools-->Database Pilot-->View-->Options-->Drivers-->Add
        填入Driver:org.gjt.mm.mysql.Driver
     Simple URL:jdbc:mysql://localhost:3306/databasename?useUnicode=true&characterEncoding=gb2312
    确定之后,Tools-->Database Pilot-->New的Driver里选择 org.gjt.mm.mysql.Driver
    在URL里填入:
         (jdbc:)mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=gb2312,确定!
       双击或点击+号输入mysql数据库的用户名和密码,就完成了JB与mysql的连接!
    连接代码可以查看Source

解决方案 »

  1.   

    package xqi8;
    import java.sql.*;
    public class connmysql {
    String sDBDriver = "org.gjt.mm.mysql.Driver";
    //String sConnStr = "jdbc:mysql://localhost/xqi8";
    String sConnStr = "jdbc:mysql://localhost/010221?useUnicode=true&characterEncoding=gb2312";
    String MyUser="root";
    String MyPassword="password";
    Connection connect = null;
    ResultSet rs = null;
    public connmysql() {
    try {
    Class.forName(sDBDriver); 
    }
    catch(java.lang.ClassNotFoundException e) {
    System.err.println( e.getMessage());
    }
    }
    public ResultSet executequery(String sql) {
    rs = null;
    try {
    connect = DriverManager.getConnection(sConnStr,MyUser,MyPassword); 
    Statement stmt = connect.createStatement();
    rs = stmt.executeQuery(sql);

    catch(SQLException ex) { 
    System.err.println(ex.getMessage());
    }
    return rs;
    }
    public void executeupdate(String str) {
    try {
    connect = DriverManager.getConnection(sConnStr,MyUser,MyPassword); 
    Statement stmt = connect.createStatement();
    stmt.executeUpdate(str);

    catch(SQLException ex) { 
    System.err.println(ex.getMessage());
    }}
    }
      

  2.   

    可以把前台jsp的代码也贴出来吗?谢谢
      

  3.   

    算了给你一个吧自己改一下
    Tomcat中SERVER.XML配置:
    <Context path="/bizcity" docBase="bizcity" debug="0">
      <Resource name="jdbc/bizcity" auth="Container"   type="javax.sql.DataSource" />
                <ResourceParams name="jdbc/bizcity">
       <parameter><name>factory</name>
    <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
    </parameter>
    <parameter><name>driverClassName</name> <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
    </parameter>
                    <parameter><name>url</name><value>jdbc:microsoft:sqlserver://192.168.10.1:1433;DataBaseName=BizCity</value>
            </parameter>
                    <parameter><name>username</name><value>sa</value></parameter>
                    <parameter><name>password</name><value>123456</value></parameter>
                    <parameter><name>maxActive</name><value>20</value></parameter>
                    <parameter><name>maxIdle</name><value>10</value></parameter>
                    <parameter><name>maxWait</name><value>-1</value></parameter>
                </ResourceParams>
    </Context>
    maxActive是最大激活连接数,也就是同时最多有的数据库连接数。maxIdle是最大空闲连接数,是你不使用数据库连接时,也可以保持的数据库连接。我想在同一时间你的连接数是不可能maxActive的,你不可能用一个连接总连接着,不释放吧!如果你释放了,这个连接很有可能马上被其他的程序利用。
    *********************************
    *javac -deprecation -d . *.java *
    ********************************* 代碼部分:
    package biz;import java.sql.*;
    import javax.sql.*;
    import java.util.Vector;
    import java.util.Date;a
    import javax.naming.*;public class connpool{ // 連接池類
        private int maxconn; //最大連接數
        private int nActive; //已創建的連接數
        private Vector freeCons=new Vector(); //存儲當前可用連接的數組    private Context initCtx = null;   //Context 上下文类型
        private Context ctx =null;
        private DataSource ds=null;    public connpool()
        {
            this.maxconn=20;
            this.nActive =0;
            try{
                initCtx = new InitialContext(); //初始化上下文,可以读配置文件如:web.xml
                if(initCtx==null) throw new Exception("Initial Failed!");
                ctx = (Context) initCtx.lookup("java:comp/env");
                 //szJdbc="jdbc/bizcity" 此值在Tomcat的SERVER.XML文件中配置
                if(ctx!=null)  ds= (DataSource) ctx.lookup("jdbc/bizcity");
                if(ds==null)   throw new Exception("Look up DataSource Failed!");     //以上这是从配置文件读取上下文的一种方法!
    参数在上下文中定义
            }
            catch(Exception e){
                System.out.println(e.getMessage());
            }
        }    public void SetMaxConn(int n){//默認最大連接數為 20 ~ 200;
            if(n<20)  n=20;
            if(n>200) n=200;
            this.maxconn =n;
        }    public synchronized void freeConnection(Connection con) //歸還連接
        {  //synchronized关键字定义可异步同时连接
            try{
                if(con.isClosed()){
                    con=null;    //System.out.println("Connection is Closed\n");
                }
                else{
                    freeCons.addElement(con);   
                    System.out.println("Add Exists Connection,Current Conut=" + freeCons.size());
                }
            }
            catch(Exception e){System.out.println(e.getMessage());}
            //notifyAll();
        }    public synchronized Connection getConnection(long timeout) //取得一個連接(指定超時時間)
        {
            long startTime=new Date().getTime(); //記錄超時用
            Connection con=null;
            while(con==null){
                if(freeCons.size()>0){//在有可用的連接時,選用可用連接
                    con=(Connection) freeCons.firstElement(); //從數組中取得第一個    把能用的连接取走了一个,当然再能用的连接中,减去一个了
                    freeCons.removeElementAt(0); //並從數組中刪除
                    try{
                      if(con.isClosed()){ //如果已關閉,則將已創建連接減一
                            nActive--;
                            con=null;
                        }
                    }
                    catch(Exception e){System.out.println(e.getMessage());}
                    if(con!=null) System.out.println("Get Exists Connection\n");
                }else if(nActive<maxconn){ //沒有可用連接且已創建的連接數小于最大數時,創建新連接
                    con=newConnection();
                    if(con!=null) System.out.print("Create New Connection ******" + nActive );
                }
                if(con!=null) break; //取得可用連接後,則直接退出等待
                //否則,進行等待0.5s,進行下一次獲取連接的操作
                try{
                    wait(500); //等待0.5秒
                }
                catch(InterruptedException e) {}
                if((new Date().getTime()-startTime)>=timeout){
                    System.out.println("Connection timeout\n");
                    break; //超時則退出
                }
            }
            return con;
        }    public void release(){ //關閉所有連接
            int i=freeCons.size();
            int j=0;
            for (j=0;j<i;j++){
                Connection con=(Connection)freeCons.elementAt(j);
                try{
                    con.close();
                }
                catch(SQLException e) {
                    System.out.println("無法關閉連接池中的當前連接");
                }
            }
            freeCons.removeAllElements();
            nActive=0;
        }    private Connection newConnection(){ //創建一個新連接
            Connection con=null;
            try{
                con=ds.getConnection();
                if(con==null) throw new Exception("Create Connection Failed!");
                else nActive++;
            }
            catch(Exception e){
                System.out.println(e.getMessage());
            }
            return con;
        }
    }
    JSP調用:
    <%@ page language="java" import="java.sql.*"%>
    <jsp:useBean id="vCon" scope="application" class="biz.connpool"/><%!
        Connection con=null;
        java.sql.Statement stmt=null;
    %><%
    try{
        if(con==null) con=vCon.getConnection(10000); //最大等待時間為10s
        stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
    }   //两个结果集 第一个参数时说结果集是不可滚动的,只能向前滚!
    第二个是结果集是只读的
    catch(Exception e){
        System.err.println(e.getMessage());
    }ResultSet rs=stmt.executeQuery("Select *........");
    ........stmt.close();
    vCon.freeConnection(con);
    con=null;
    %>这就是在这里找的呵呵
      

  4.   

    http://www.ntsky.com
    下载区里的javabean 都是提供的,你可以看看。