package jm.cn.comm.dbapc;
import java.util.*;
import java.sql.*;import jm.cn.soft.cost.CodeInfo;
import jm.cn.comm.mesg.MesgBox;
import jm.cn.comm.unil.*;
import jm.cn.comm.Item;
import org.gjt.mm.mysql.Driver;public class DbConntion
{
    private static final String        CLASS_NAME = "DbConntion";
    //DB Driver
    private static final String        DB_DRIVER  = "org.gjt.mm.mysql.Driver";
    //Db Url
    private static final String        DB_URL     = "jdbc:mysql://192.72.36.57:3306/mdxk";
    //UserName
    private static final String        DB_USER    = "root";
    //Password
    private static final String        DB_PWS     = "";    private static       Connection    Conn       = null;
    private static       Statement     Stmt       = null;    private static       ResultSet     reruData   = null;
    private static       String        psUSql     = null;    public DbConntion()
    {
    }    public static synchronized FlexFolder mDBaseSelect ( String[] asDbuse )
    throws ExceptionReporter
    {
//        new String(asDbuse[i].getBytes("GB2312"),"ISO-8859-1");        final String sMethod = "DBaseSelect";
        String temp = "";
        FlexFolder pfDataOut = new FlexFolder();
        Flex2DArray   pfFlex = new Flex2DArray();
        boolean pbresult = true;
        try
        {
            if ( !mDbselU(asDbuse) )
            {
                pbresult = false;
            }
            else
            {
                //data select
                if ( !mDbconnSelect(psUSql) )
                {
                    pbresult = false;
                }
                else
                {
                    while( reruData.next() )
                    {
                        for ( int i =1; i <= reruData.getMetaData().getColumnCount(); i ++ )
                        {
                            temp = reruData.getString(i);
//System.out.print("\n"+temp+"   "+i);
                            pfFlex.addItem( (reruData.getMetaData().getColumnName(i)
                                            ).toUpperCase()
                                           ,temp);
//                                           ,new String(temp.getBytes("GB2312"),"ISO-8859-1"));
                        }
                        pfFlex.nextRow();
                    }
                    if ( !mDbClose() || pfFlex.isEmpty() )
                    {
                        pbresult = false;
                    }
                }
            }
            pfDataOut.addItem(Item.IFKEY_RESULT,pbresult);
            pfDataOut.addItem(Item.IFKEY_RETURN,pfFlex);
            return pfDataOut;
        }
        catch (ExceptionReporter ex)
        {
            // 椺奜傪揱斃偡傞
            ex.updateSource(CLASS_NAME + "." + sMethod);
            throw ex;
        }
        catch (Exception ex)
        {
            // 椺奜傪憲弌偡傞
            throw new ExceptionReporter(CLASS_NAME + "." + sMethod, ex);
        }
    }    public static synchronized FlexFolder mDBaseOthers ( String[] asDbuse )
    throws ExceptionReporter
    {
        final String sMethod = "mDBaseInsert";
        FlexFolder pfDataOut = new FlexFolder();
        String temp = "";
        boolean pbresult = true;
        try
        {
            if ( !mDbselU(asDbuse) )
            {
                pbresult = false;
            }
            else
            {
                int dnresu = mDbothU(psUSql) ;
                if ( !mDBcommit() || !mDbClose() )
                {
                    pbresult = false;
                }
                pfDataOut.addItem(Item.IFKEY_RETURN,dnresu);
            }
            pfDataOut.addItem(Item.IFKEY_RESULT,pbresult);
        }
        catch (ExceptionReporter ex)
        {
            // 椺奜傪揱斃偡傞
            ex.updateSource(CLASS_NAME + "." + sMethod);
            throw ex;
        }
        catch (Exception ex)
        {
            // 椺奜傪憲弌偡傞
            throw new ExceptionReporter(CLASS_NAME + "." + sMethod, ex);
        }
        return pfDataOut;
    }
    private static synchronized boolean mDbconnSelect( String psSql )
    throws Exception
    {
        try
        {
           Class.forName(DB_DRIVER).newInstance();
           Conn = DriverManager.getConnection(DB_URL,DB_USER,DB_PWS);
           Conn.setAutoCommit(false);
           Stmt = Conn.createStatement();
           reruData = Stmt.executeQuery(psSql);
        }
        catch (Exception ex)
        {
            throw ex;
        }
        return true;
    }    private static synchronized int mDbothU( String psSql )
    throws Exception
    {
        try
        {
           Class.forName(DB_DRIVER).newInstance();
           Conn = DriverManager.getConnection(DB_URL,DB_USER,DB_PWS);
           Conn.setAutoCommit(false);
           Stmt = Conn.createStatement();
           return Stmt.executeUpdate(psSql);
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }    private static synchronized boolean mDBcommit()
    {
        try
        {
            Conn.commit();
        }
        catch( SQLException e )
        {
            return false;
        }
        return true;
    }    private static synchronized boolean mDBrollback()
    {
        try
        {
            Conn.rollback();
        }
        catch( SQLException e )
        {
            return false;
        }
        return true;
    }    private static synchronized boolean mDbClose()
    {
        try
        {
            reruData.close();
            Conn.close();
            Stmt.close();
        }
        catch( SQLException e )
        {
            return false;
        }
        return true;
    }
}

解决方案 »

  1.   

    我的错误如下:怎么回事呀?
    HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: org.gjt.mm.mysql.Driver
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:248)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)
    at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
    at java.lang.Thread.run(Thread.java:536)
    root cause javax.servlet.ServletException: org.gjt.mm.mysql.Driver
    at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:533)
    at org.apache.jsp.TMPt62ycpsbx_jsp._jspService(TMPt62ycpsbx_jsp.java:78)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:204)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)
    at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
    at java.lang.Thread.run(Thread.java:536)--------------------------------------------------------------------------------Apache Tomcat/4.1.18
      

  2.   

    jsp连接MySQL数据库 
    testmysql.jsp如下: 
    <%@ page contentType="text/html;charset=gb2312"%> 
    <%@ page import="java.sql.*"%> 
    <html> 
    <body> 
    <%Class.forName("org.gjt.mm.mysql.Driver").newInstance(); 
    String url ="jdbc:mysql://localhost/softforum?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1" 
    //testDB为你的数据库名 
    Connection conn= DriverManager.getConnection(url); 
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
    String sql="select * from test"; 
    ResultSet rs=stmt.executeQuery(sql); 
    while(rs.next()) {%> 
    您的第一个字段内容为:<%=rs.getString(1)%> 
    您的第二个字段内容为:<%=rs.getString(2)%> 
    <%}%> 
    <%out.print("数据库操作成功,恭喜你");%> 
    <%rs.close(); 
    stmt.close(); 
    conn.close(); 
    %> 
    </body> 
    </html> 
      

  3.   

    个人觉得mysql jdbc 3.0.* stable 的版本有问题,还没2.*的好。
    有访问错误的情况。
      

  4.   

    是呀,我用的就是和bombshell(水中鱼) 老兄一样的例子,出来那样的结果!!
     郁闷
      

  5.   

    终于解决问题了,经过和身边还有网上各位高人得讨论,我终于解决这个问题了,是因为mysql的环境因为本机器有网卡在局域网中,因此Local host Name 为:(你自己电脑的名字),Local IP Address为你在局域网中的ip地址。因此在以上的例子中:String url ="jdbc:mysql://localhost/softforum?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1" 将变成:
    String url ="jdbc:mysql://你的计算机名或者你的ip/softforum?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1" 
    这样问题就解决了
    :)
    爽!!