有个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.   

    应该是你没有正确的将MySQL的JAR包引入工程中,请把:
    try
      {
      Class.forName(DBDRIVER);
      }
      catch(Exception e)
      {
      out.println("the database loading fail!");
      }修改为:
    try {
      Class.forName(DBDRIVER);
    } catch(Exception e) {
      e.printStackTrace();
    }然后看看异常信息就知道了。
      

  2.   

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

  3.   

    try
      {
      Class.forName(DBDRIVER);
      }
      catch(Exception e)
      {
      out.println("the database loading fail!\n" + e.printStackTrace() ); //看看具体是什么异常信息
      } 
    怀疑是jar包没有加载到,你打印出自己的异常 ,但是 这样会影响你排除错误啊 ,还是把 系统的异常信息也打印出来吧
      

  4.   

    这样只能打印出你指定的错误还是e.printStackTrace()吧