有个JSP小程序,TOMCAT运行后显示:“the database loading fail! the database connection fail! the database operation fail! close the database fail! ”,请大家看看为什么没连上数据库(mysql)呢 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ page import="java.sql.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>JDBCDemo01</title>
</head>
<body>
<%!
    String DBDRIVER = "com.mysql.jdbc.Driver";
    
    String DBURL = "jdbc:mysql://localhost/javabook";
    
    String USERNAME = "root";
    
    String DBPWORD = "19760113";
    
    Connection conn = null;
    
    String sql = null;
    
    Statement stmt = null;
%><%
    
    try
    {
        Class.forName(DBDRIVER);
    }
    catch(Exception e)
    {
        out.println("the database loading fail!");
    }
    
        
    try
    {
        conn = DriverManager.getConnection(DBURL,USERNAME,DBPWORD);
    }
    catch(Exception e)
    {
        out.println("the database connection fail!");
    }
    
        
    try
    {
        stmt = conn.createStatement();
        
        sql = "insert into department (deptId,name,chairId,collegeId) values ('ART','Painting','111221120','SC')";
        
        stmt.executeUpdate(sql);    
    }
    catch(Exception e)
    {
        out.println("the database operation fail!");
    }
    
    try
    {
        stmt.close();
        
        conn.close();
    }
    catch(Exception e)
    {
        out.println("close the database fail!");
    }
%>
    
</body>
</html>

解决方案 »

  1.   

    String DBURL = "jdbc:mysql://localhost/javabook";你的mysql 端口号是3306么?jdbc:mysql://localhost:3306/javabook
    请确保3306端口号写上。
      

  2.   

    貌似还有jar包没导入进去吧?WebContent/WEB-INF/lib下有mysql的数据库连接包么?
      

  3.   

    “貌似还有jar包没导入进去吧?WebContent/WEB-INF/lib下有mysql的数据库连接包么”您说的这个mysql的数据库连接包是那个 .jar文件吗
      

  4.   

    楼主请将类似于
    out.println("the database loading fail!");
    修改为
    out.println("the database loading fail!");e.printStackTrace();
    你屏蔽了原始异常,没有办法查原因的
      

  5.   

    try
      {
      Class.forName(DBDRIVER);
      }
      catch(Exception e)
      {
      out.println("the database loading fail!\n" + e.printStackTrace() ); //看看具体是什么异常信息
      }
    怀疑是jar包没有加载到
      

  6.   

    jar包该如何加载,使用JDK和TOMCAT编制JSP程序时,MYSQL的.jar文件究竟应该放到哪些地方呢
      

  7.   

    无非几个招数:
    CLASSPATH,这个是全局性最强的,整个操作系统生效;
    JDK\jre\lib\ext,全局性仅次于于CLASSPATH,是跟随JDK有效,但装载优先级高于CLASSPATH;
    然后就是javac和java启动时用参数来指定加载,IDE环境大多用此做法;
    最后是应用包中通过类似于ContextRoot\WEB-INF\lib
    初学者经常会用前几招,因为比较容易偷懒。但前两招因其容易引发JAR包冲突而饱受诟病。
      

  8.   

    1,jar包,保存到项目里。
    2,端口,3306.好好看看吧,少年
    1L+1
      

  9.   

    都有可能的。lib数据库包添加java  build path-->libraries-->add jars