数据库连接类如下:
package org.pan.util;import java.sql.*;
import   javax.servlet.*; 
import   javax.servlet.http.*; 
public class DBConnectionManager {
    private String driverName="com.mysql.jdbc.Driver";
    private String url = "jdbc:mysql://127.0.0.1:3306/wagemanage","root","root";
 
    public void setDriverName(String newDriverName) {
        driverName = newDriverName;
    }
    public String getDriverName() {
        return driverName;
    }

    public void setUrl(String newUrl) {
        url = newUrl;
    }
    public String getUrl() {
        return url;
    }
    public void setUser(String newUser) {
        user = newUser;
    }
    public String getUser() {
        return user;
    }
    public void setPassword(String newPassword) {
        password = newPassword;
    }
    public String getPassword() {
        return password;
    }    public Connection getConnection() {
        try {
            Class.forName(driverName);
        //    return DriverManager.getConnection(url, user, password);
            return DriverManager.getConnection(url);
        }
        catch (Exception e) {
            e.printStackTrace();
          return null;
        }
    }    public static void main(String[] args) {
       // DBConnectionManager DBConnectionManager1 = new DBConnectionManager();
  try{

  DBConnectionManager dcm = new DBConnectionManager();
  Connection conn = dcm.getConnection();
    Statement stmt=conn.createStatement();
    ResultSet rs=stmt.executeQuery("select * from admin");
    

// stmt = conn.createStatement();     while(rs.next()){
  System.out.print("登陆帐号: "+rs.getString(0));
  System.out.print("\tpassword: "+rs.getString(1));
  System.out.println();
    }

  }catch(Exception e){
    e.printStackTrace();
  }
    }
}
运行后报错:
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause java.lang.NullPointerException
org.pan.web.DataBase.close(DataBase.java:79)
org.pan.web.login.excute(login.java:60)
org.apache.jsp.login_jsp._jspService(login_jsp.java:76)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.,我的jar包已经放在了lib下,这个数据库连接类以前是用来连接access的。现在想改成连mysql,但该了老是报错,不知道什么地方没写对

解决方案 »

  1.   

    org.pan.web.DataBase.close(DataBase.java:79)这行报错,这个文件好像有错误,还有你连接数据库在try catch后面最好加上finally子句来关闭数据库连接
      

  2.   

    //给你个代码自己研究吧
    package csdn;import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;public class MySQLDB { public static Connection getConnection() {
    Connection conn = null;
    try {
    String driver = "com.mysql.jdbc.Driver";
    String dbURL = "jdbc:mysql://localhost:3306/DBName?useUnicode=true&characterEncoding=UTF-8";
    String username = "root";
    String password = ""; Class.forName(driver).newInstance();
    conn = DriverManager.getConnection(dbURL, username, password);
    } catch (SQLException e) {
    // TODO: handle exception
    e.printStackTrace();
    } catch (Exception e) {
    // TODO: handle exception
    e.printStackTrace();
    }
    return conn;
    } public static boolean closeConnection(Connection conn) {
    try {
    conn.close();
    return true;
    } catch (SQLException e) {
    e.printStackTrace();
    return false;
    } catch (Exception e) {
    e.printStackTrace();
    return false;
    }
    }}
      

  3.   

    空指针的异常,原因很多。你看一下lib包是否有问题,为什么要那样写呢,楼上的写法蛮好。
      

  4.   

    //给你改了一下代码,应该没问题了
    import java.sql.*;public class DBConnectionManager {
        private String driverName="com.mysql.jdbc.Driver";
        private String url = "jdbc:mysql://127.0.0.1:3306/wagemanage";
        private String user="root";
        private String password="root";
     
        public void setDriverName(String newDriverName) {
            driverName = newDriverName;
        }
        public String getDriverName() {
            return driverName;
        }
        
        public void setUrl(String newUrl) {
            url = newUrl;
        }
        public String getUrl() {
            return url;
        }
        public void setUser(String newUser) {
            user = newUser;
        }
        public String getUser() {
            return user;
        }
        public void setPassword(String newPassword) {
            password = newPassword;
        }
        public String getPassword() {
            return password;
        
        }
       /* public Connection getConnection() {
            try {
                Class.forName(driverName);
                return DriverManager.getConnection(url,user,password);
            }
            catch (Exception e) {
                e.printStackTrace();
              return null;
            }
        }
        */
        public static void main(String[] args) {      
              try{
               
                  DBConnectionManager dcm = new DBConnectionManager();
                  Class.forName(dcm.getDriverName());
                  Connection conn = DriverManager.getConnection(dcm.getUrl(),dcm.getUser(),dcm.getPassword());
                Statement stmt=conn.createStatement();
                ResultSet rs=stmt.executeQuery("select * from admin");
                
                
           
                while(rs.next()){
                      System.out.print("登陆帐号: "+rs.getString(0));
                    System.out.print("\tpassword: "+rs.getString(1));
                    System.out.println();
                     
               }
                
              }catch(Exception e){
                e.printStackTrace();
              }
        }
    }
      

  5.   

    private String url = "jdbc:mysql://127.0.0.1:3306/wagemanage","root","root";
    //这个这么写有就问题,
    //--->
    private String url = "jdbc:mysql://127.0.0.1:3306/wagemanage;
    private String name = "root";
    private String pass = "root";
    ---------------------------------------------------------------------------
    //    return DriverManager.getConnection(url, user, password);
                return DriverManager.getConnection(url);
    //这个也有问题
    //--->
    return DriverManager.getConnection(url, user, pass);
    ---------------------------------------------------------------------------
    try{
            
                  DBConnectionManager dcm = new DBConnectionManager();
                  Connection conn = dcm.getConnection();
                Statement stmt=conn.createStatement();
                ResultSet rs=stmt.executeQuery("select * from admin");
                
                
            //    stmt = conn.createStatement();            while(rs.next()){
                      System.out.print("登陆帐号: "+rs.getString(0));
                      System.out.print("\tpassword: "+rs.getString(1));
                      System.out.println();
                }
                
              }catch(Exception e){
                e.printStackTrace();
              }
    //--------->改成:
    try{
            
                  DBConnectionManager dcm = new DBConnectionManager();
                  Connection conn = dcm.getConnection(dcm.url,dcm.name,dcm.pass);
                  Statement stmt=conn.createStatement();
                  ResultSet rs=stmt.executeQuery("select * from admin");
                
                
            //    stmt = conn.createStatement();            while(rs.next()){
                      System.out.print("登陆帐号: "+rs.getString(0));
                      System.out.print("\tpassword: "+rs.getString(1));
                      System.out.println();
                }
                
              }catch(Exception e){
                e.printStackTrace();
              }
      

  6.   

    private String url = "jdbc:mysql://127.0.0.1:3306/wagemanage","root","root";
    这样的定义能正确?
      

  7.   

    String dbURL = "jdbc:mysql://localhost:3306/DBName?useUnicode=true&characterEncoding=UTF-8";
                String username = "root";
                String password = "";
      

  8.   

      private String url = "jdbc:mysql://127.0.0.1:3306/wagemanage","root","root";
     
    这样写不正确啊,你可以看看JDK的帮助文档啊,//加载驱动
    Class.forName("Driver");
    //得到连接
    Connection conn = DriverManager.getConnection(url,username,password);
    //得到处理对象 Statement 或者 prepareStatement ,注意SQL注入
      

  9.   

    类型的异常报告消息说明服务器遇到一个内部错误(),无法履行这一请求。异常org.apache.jasper.JasperException:java.lang.NullPointerException
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java522)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    根源java.lang.NullPointerException
    org.pan.web.DataBase.close(DataBase.java:79)
    org.pan.web.login.excute(login.java:60)
    org.apache.jsp.login_jsp._jspService(login_jsp.java:76)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    注意:完整的堆栈跟踪的根本原因是在Apache Tomcat/6.0.20日志。
      

  10.   

    private String url = "jdbc:mysql://127.0.0.1:3306/wagemanage","root","root";
      

  11.   

    你那个url写的有问题吧。....
    String driver="com.mysql.jdbc.Driver";
    String url="jdbc:mysql://localhost:3306/school";   //school为数据库
    String user="root";       //账号
    String pwd="";        //密码Class.forName(driver);      //加载驱动
    Connection con=DriverManager.getConnection(url,user,pwd);    //连接
    自己研究吧......