解决方案 »

  1.   

    为什么我的jdbcutil类不能被初始化,如果不能被初始化为什么我添加主函数实验又可以提取到MySQL的数据,怎么这么多乱七八糟的问题啊,我明明就写了这么多次的jdbc,还是要被这些问题堵住,憋的慌啊,大神么可以给点办法么,这是活生生的受气啊
      

  2.   


    private JdbcUtil()
        {
            }你将默认的构造方法私有化了,外界不能构造JdbcUtil对象出来。贴代码看StudentImpl的query方法是怎么写的。
      

  3.   

    你先把构造函数去掉或者是将private改成public。然后debug看一下,在StudentImpl类里面看一下,你拿到的connection是否为空之类的。
      

  4.   

    你这里默认构造器编程了private怎么行,除非单例模式,你把你默认构造器换成public试试。个人建议,这个先参考书上成功的例子,稍微了解下每个步骤是干嘛的。
      

  5.   

    你看下jsp中有没有导入JDBCUtil这个类,没导入肯定报错啊。<%@ page import="xxxx.xx.JDBCUtil" />
      

  6.   

    package impl;import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;import worker.Student;public class StudentImpl {
    public static ArrayList<Student> query()
    {
    Connection conn=null;
    PreparedStatement pr=null;
    ResultSet rs=null;
    ArrayList<Student> students=new ArrayList<Student>();
    try {
    conn=JdbcUtil.getConnection();
    String query="select * from exam_student";
    pr=conn.prepareStatement(query);
    rs=pr.executeQuery();
    //获取Arraylist对象

    while(rs.next())
    {
    Student student=new Student();
    student.setName((String)rs.getObject("name"));
    student.setName((String)rs.getObject("str_no"));
    student.setName((String)rs.getObject("height"));
    students.add(student);
    }



    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    return students;

    }}
    各位,这就是其余的代码,另外4楼,我只是为了要使用jdbc更方便一些,所以建立了一个jdbcutil类,再把里面的注册静态化了,还有私有化的构造方法,我改成了public修饰,还是要报错,另外还有报错上写的是jdbcutil没有初始化成功,并且是在32行           Class.forName("com.mysql.jdbc.Driver");上打的标记,我就不知道是怎么回事了,还请你们指教
      

  7.   

    还有一点,jdbcutil里的方法我都是写的静态的,就算不用new对象也是可以使用的,为什么会说我的jdbcutil没有初始化,即使没有初始化方法也是可以调用的啊
      

  8.   

    那就说明是static块中Class.forName("com.mysql.jdbc.Driver");执行失败。
    将mysql-connector-java-5.xxx.jar包放在${jdk安装目录}/jre/lib/ext下再试。
      

  9.   

    还是不行,报错上还是说的是我的jdbcutil没有初始化,明明都是静态方法,为啥还是报这种错哎
    十一月 24, 2014 2:47:55 下午 org.apache.catalina.core.StandardWrapperValve invoke
    严重: Servlet.service() for servlet StudentInfo threw exception
    java.lang.NoClassDefFoundError: Could not initialize class impl.JdbcUtil
    at impl.StudentImpl.query(StudentImpl.java:19)
      

  10.   


    static{
            try {
                Class.forName("com.mysql.jdbc.Driver");
            } catch (ClassNotFoundException e) {
                // TODO Auto-generated catch block
                throw new ExceptionInInitializerError(e);
    //将这行注释掉,改为e.printStackTrace();,这个能看到报的错误消息。
            }
        }
      

  11.   

    解决了,是我误以为maven下了jar后就不用管这些,结果是自己没有往lib下添加jar包!
      

  12.   

    老兄是不是没使用ide 哈???  myeclipse会提示的哟.