我的系统是Tomcat5.0+mysql5.0+Linux为何过一晚上之后,第二天早上打开网站时总报java.lang.NullPointerException 这样的错误,重启tomcat后就没问题了.第二天还是这样.在网上找了一下,好像说是MYSQL有个最大连接时长,超过8小时不用的话,数据库会自动断开,后将Tomcat中的connectionTimeout改为了0,但问题依然存在.这时我远程登录数据库是可以的,这是不是说明并不是数据库关闭的问题呀?请高手指点一下.谢谢!

解决方案 »

  1.   

    public void initiconn() throws SQLException, NamingException, ClassNotFoundException 
        {
          
         Class.forName("org.gjt.mm.mysql.Driver");
            String url="jdbc:mysql://localhost:3306/tablename?user=root&password=123456";
            conn=DriverManager.getConnection(url);
         /*
              Context initCtx = new javax.naming.InitialContext();
       Context envCtx = (Context) initCtx.lookup("java:comp/env");
       DataSource ds = (DataSource) envCtx.lookup("jdbc/tablename");
       System.out.print(ds);
            conn=ds.getConnection();
       */
        }  
        //返回一个连接
    哥们我原来用的是下面注释掉的链接,比你频率低,隔几天就出现你的情况,现在我用上面这个,就没什么问题!
      

  2.   

    我现在用的就是Class.forName("org.gjt.mm.mysql.Driver");
          con = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=gbk",
                                            "root", "1234");我现在发现只要是重启mysql后,就会出现上面的情况,需要将数据库连接类重新编译上传才可以,但类文件是一个字都没改.百思不得其解,搞了一天了,也没明白怎么回事,还请高手指点.
      

  3.   

    类文件如下:public class DbUtil {
      public static Connection getConnection() {
        Connection con = null;    try {
          Class.forName("org.gjt.mm.mysql.Driver");
          con = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=gbk",
                                            "root", "1234");
        }    catch (Exception e) {
          e.printStackTrace();
        }    return con;
      }}
      

  4.   

    更新java-connect-mysql驱动,用Class.forName("com.mysql.jdbc.Driver");去注册试试..不担保可以哦..
      

  5.   

    换了驱动也不可以,重启MYSQL后,还是显示NULL异常,要刷新页面好几次才能正常,或者重启TOMCAT也会正常。这个什么问题呀?
      

  6.   

    问题解决了,将DbUtil.class换了,将Class.forName("org.gjt.mm.mysql.Driver");换成了Class.forName("com.mysql.jdbc.Driver");驱动没有更新.