首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Exception >

org.apache.jasper.JasperException: Exception in JSP: /connectdatabase.jsp:24

2014-01-26 
做了个简单的jsp使用javabean连接mysql数据库然后显示出里面的数据的小程序 jsp页面如下Java code%@ page

做了个简单的jsp使用javabean连接mysql数据库然后显示出里面的数据的小程序
jsp页面如下

Java code
<%@ page language="java" contentType="text/html; charset=gb2312"%><%@ page import="java.sql.*" %><jsp:useBean id="connBean" scope="page" class="cc.conn"/><html><head><title>使用bean连接mysql数据库</title></head><body bgcolor="#FFCCCC"><div align="center"><table width="60%" border="1"><tr><td width="50%" bgcolor="#CCCCFF"><div align="center"><font color="#FF0033"><b>学号</b></font></div></td><td width="25%" bgcolor="#CCCCFF"><div align="center"><font color="#FF0033"><b>姓名</b></font></div></td><td width="25%" bgcolor="#CCCCFF"><div align="center"><font color="#FF0033"><b>学分</b></font></div></td></tr><% ResultSet rs=connBean.executeQuery("select * from student");while(rs.next() ){ %> <tr> <td width="50%"> <div align="center"><%=rs.getString(1) %></div></td><td width="25%"> <div align="center"><%=rs.getString(2) %></div></td><td width="25%"> <div align="center"><%=rs.getString(3) %></div></td></tr><%}rs.close(); %> </table></body></html>


连接数据库的javabean代码如下:
 

Java code
package cc;import java.sql.*;public class conn { String dbUrl="jdbc:mysql//:localhost/test"; String dbUser="root"; String dbPassword="123"; Connection connect=null; ResultSet rs=null; public conn(){  try{  Class.forName("org.gjt.mm.mysql.Driver");  }  catch(java.lang.ClassNotFoundException e){  System.err.println(e.getMessage());  } } public ResultSet executeQuery(String sql){  try{  connect=DriverManager.getConnection(dbUrl,dbUser,dbPassword);  Statement stm=connect.createStatement();  rs=stm.executeQuery(sql);  }catch(SQLException ex){  System.err.println(ex.getMessage());  }  return rs; }}


运行提示org.apache.jasper.JasperException: Exception in JSP: /connectdatabase.jsp:24
是NullPointerException的错误,我看了下应该是读了rs出现空值,但是在mysql里我用select * from student可以显示出数据啊,大家看看怎么修改,谢谢大家!

------解决方法--------------------------------------------------------
看一下 connect 是不是为null
------解决方法--------------------------------------------------------
你还是在
connect=DriverManager.getConnection(dbUrl,dbUser,dbPassword);

System.out.prinltn("是否为空:"+connect);//这个里还是调试下把. 不要想当然.
Statement stm=connect.createStatement();

------解决方法--------------------------------------------------------
jdbc:mysql//:localhost/test这里你的url的port呢默认是3306
jdbc:mysql//:localhost:3306/test如果改变了的话用你改变后的端口
在说你都使用了System.err.println(e.getMessage());
看下控制台错误很明显的
------解决方法--------------------------------------------------------
import java.sql.*;在有这里是你import的类 就算是填写正确了 也没有数据库驱动类的加载
我对这句话纠正下:)很久没有用类直接连数据库了 用框架用的迷糊了 这里数据库驱动类是不需要import的  只是经常做测试import下,不好意思哈哈。带类的全路径的是不用import抱歉抱歉嘿嘿
------解决方法--------------------------------------------------------
看数据库连接是不是null,如果不是空再找别的原因

这种问题baidu一下就搞定了,为什么每天都有n个人问这个问题呢
------解决方法--------------------------------------------------------
url ="jdbc:mysql://localhost:3306/XXXXX?

URL用的是这个啦`
------解决方法--------------------------------------------------------
 

探讨
是Class.forName("org.gjt.mm.mysql.Driver").newInstance()
为什么一加上newInstance()就不行了,提示错误,而去掉newInstance()就可以了

        

热点排行