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>

解决方案 »

  1.   

    首先是mySQL的JDBC驱动程序的下载,下载地址:http://mysql.ihostunit.com/Downloads/Contrib/mm.mysql-2.0.4-bin.jar
    把这个jar随便放什么地方,不过要包含到classpath里去
    然后再把这个jar复制到<tomcat>\common\lib下
    重启tomcat
    test.jsp文件:
    <%@ page contentType="text/html;charset=gb2312"%> 
    <%@ page import="java.sql.*"%> 
    <html>
    <body>
    <%
    //try{
    Class.forName("org.gjt.mm.mysql.Driver").newInstance(); 
    String url ="jdbc:mysql://localhost/mysql";
    Connection conn= DriverManager.getConnection(url); 
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    String sql="select * from user"; 
    ResultSet rs=stmt.executeQuery(sql); 
    while(rs.next()) out.println("one/n");
    out.print("数据库操作成功,恭喜你");
    rs.close(); 
    stmt.close(); 
    conn.close(); 
    //}catch(Exception e){out.println(e.toString());}
    %> 
    </body> 
    </html>
      

  2.   

    java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver 这个错误原因是什么?
    我的程序如下:
    package test;
    import java.io.*;
    import java.util.*;
    import java.sql.*;
    public class connect_sqlserver2000 {
    String user="sa"; //连接数据库的用户名
     String password="sa"; //连接数据库的密码,
     String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";
     //上面一行为访问sql server2000的数据库地址和名字
     String driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
     //上面一行为访问sql server2000的数据库的驱动程序地址,建议把驱动放在tomcat的WEB-INF/classes下
     Connection con=null;
     public ResultSet rst=null;
     Statement smt=null;
     public void init()
      {
       System.out.print("\n\n          ----------欢迎使用 sql server2000 数据库----------李永沐\n\n");
       rst=null;
       try
         {
          Class.forName(driver);
          System.out.print("\n\n    1.恭喜你,初始化数据库驱动程序成功!!!\n");
         }
       catch(java.lang.ClassNotFoundException e)
         {
         System.err.println("\n\n    1.初始化数据库驱动程序出错,请检查sql server2000的驱动程序是否配置正确。建议把驱动放在tomcat的WEB-INF/classes下。即:函数==>>init()出错。\n\n"+e.getMessage());
         }
      }
    public ResultSet executequery(String sql)
       {
          try
          {
           con=DriverManager.getConnection(url,user,password);
           Statement smt=con.createStatement();
           rst=smt.executeQuery(sql);
           System.out.print("\n\n    2.恭喜你,查询数据库成功!!!即:==>>executequery()操作成功。\n\n");
          }
          catch(SQLException ex)
          {
            System.err.println("\n\n    2.操作查询数据库失败,请检查数据库地址、用户名、密码以及你的SQL语句是否正确。即:==>>executeQuery()出错。\n\n"+ex.getMessage());
          }
      return rst ;
       }
    public void executeupdate(String sql)
     {
      try
        {
           con=DriverManager.getConnection(url,user,password);
           Statement smt=con.createStatement();
           smt.executeUpdate(sql);
           System.out.print("\n\n    2.恭喜你,更新数据库成功!!!即:==>>executeupdate()操作成功。\n\n");
           smt.close();
           con.close();
         }
        catch(SQLException ex)
          {
            System.err.println("\n\n    2.操作更新数据库失败,请检查数据库地址、用户名、密码以及你的SQL语句是否正确.即:==>>executeQuery()出错。\n\n"+ex.getMessage());
          }
     }}下面是JSP代码:::::
    <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
    <%@ page info="database handler"%> 
    <%@ page import="java.io.*"%> 
    <%@ page import="java.util.*"%> 
    <%@ page import="java.sql.*"%> 
    <%@ page import="javax.servlet.*"%> 
    <%@ page import="javax.servlet.http.*"%> 
    <html>
    <body>
    <jsp:useBean id="id" scope="request" class="test.connect_sqlserver2000"/>
    <% String sql="";
       ResultSet rs="";
    %>
    <% 
     id.init();
     sql = "INSERT INTO User (user_Name) VALUES ('yangwu')";
     id.executeupdate(sql);
     sql = "SELECT user_Id,user_Name from User";
     rs = id.executequery(sql);
     out.println("<table border=1 width=400>"); 
    while (rs.next()) 

    String col1 = rs.getString(1); 
    String col2 = rs.getString(2); 
    //打印所显示的数据 
    out.println("<tr><td>"+col1+"</td><td>"+col2+"</td></tr>"); 

    out.println("</table>"); 
    }
    /*以try开始 
    try 

    Connection con; 
    Statement stmt; 
    ResultSet rs; 
    //加载驱动程序,下面的代码为加载JDBD-ODBC驱动程序 
    //Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    //用适当的驱动程序连接到数据库,member 是系统dsn名 
    String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";
    //建立连接,类似于ASP中的创建数据库联接 
    con=DriverManager.getConnection(url, "", "5222117"); 
    out.println("dfd");
    //创建一个JDBC声明 
    stmt = con.createStatement(); 
    //增加新记录 
    stmt.executeQuery("INSERT INTO User (user_Name) VALUES ('yangwu')"); 
    //查询记录 
    rs = stmt.executeQuery("SELECT user_Id,user_Name from User"); 
    //输出查询结果 
    out.println("<table border=1 width=400>"); 
    while (rs.next()) 

    String col1 = rs.getString(1); 
    String col2 = rs.getString(2); 
    //打印所显示的数据 
    out.println("<tr><td>"+col1+"</td><td>"+col2+"</td></tr>"); 

    out.println("</table>"); 

    //如果加载时出错,给出相应的错误信息 
    catch (Exception e) {
    out.println(e); 
    } */
    %> 
    </body>
    </html>驱动没找到,
    把那几个jar文件放到jdk\jre\lib\ext\里用的是什么服务器啊,tomcat,那就把msbase.jar,mssqlserver.jar,msutil.jar这三个文件放在..tomcat/commom/lib下。
      

  3.   

    从www.mysql.com上下载mysql-connector-java-3.0.8-stable.zip驱动(我昨天才下载了一个),解压缩后将mysql-connector-java-3.0.8-stable文件夹下的mysql-connector-java-3.0.8-stable-bin.jar文件拷贝到你的jdk\jre\lib\ext\文件夹下,在最好将该文件复制一份放到jdk\lib下,然后在环境变量中添加:jdk路径+“\lib\mysql-connector-java-3.0.8-stable-bin.jar"。
    之后就可以在程序中连接数据库:
    import java.sql.*;
    ...
    Class.forName("com.mysql.jdbc.Driver").newInstance(); 
    conn = DriverManager.getConnection("jdbc:mysql://localhost/test?user=sunexp&password=19");
    stmt = conn.createStatement();
    rs = stmt.executeQuery("SELECT * FROM ...");
    ....其中getConnection("jdbc:mysql://localhost/test?user=sunexp&password=19");
    localhost为拥有mysql server 的主机名,test为数据库名,接着是用户名和密码;
    你必须现在库中加入此用户。
    end.
    本人运行一些正常。
      

  4.   

    确认安装成功。你在dos下进入mysql,看能不能用sql命令测试。
    ==================================================
    c:\>cd c:\mysql\binc:\mysql\bin>mysql
    >mysql
    使用mysql所支持的sql命令。看是否正常。创建一个数据库,创建一个表,并插入数据,然受执行查询工作。
    ==================================================
    1、卸载mysql,重起,重新安装(不正常)
    2、下载mysql驱动程序包,上面的兄弟说得很详细了
    3、将mm.mysql-2.0.4-bin.jar文件放到你喜欢的目录下,如c:\3lib,然后在classpath添加
    一句 c:\3lib。 这样才能正常驱动数据库。最好是你在你安装的jdk目录下.假设你安装在c:\jdk1.3下,则把jar文件分别copy到c:\jdk1.3\lib和c:\jdk1.3\jre\lib目录下,然后同样copy到你的jsp服务器的 WEB-INF\lib 下面(我的是resin)。
    4、测试
    代码如下:
    ===========================================================================
    <%@ 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为你的数据库名 user password 改成你自己的。
    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> 
    =========================================================================
    测试通过
    5、DB连接Bean文件,你可以在jsp文件中使用此bean连接数据库。
    import java.sql.*;
    public class DBBridge
    {
    String sDBDriver = "org.gjt.mm.mysql.Driver";
    String sConnStr = "jdbc:mysql://127.0.0.1/work?user=root&password=123&useUnicode=true&characterEncoding=8859_1";//自己修改用户和密码
    Connection conn = null;
    ResultSet rs = null;
    Statement stmt = null; public DBBridge()
    {
    try 
    {
    Class.forName(sDBDriver); 
    }
    catch(java.lang.ClassNotFoundException e) 
    {
    System.err.println("SQL Exception : " + e.getMessage());
    }
    }
    public ResultSet executeQuery(String sql) 
    {
    try 
    {
    conn = DriverManager.getConnection(sConnStr); 
    stmt = conn.createStatement();
    rs = stmt.executeQuery(sql);

    catch(SQLException ex)

    System.err.println("test.executeQuery: " + ex.getMessage());
    }
    return rs;
    }
    }