BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #33918同步于 2014/8/21
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

java.lang.NullPointerException如何解决

huangqiong
2014/8/21镜像同步20 回复
这是DBBean类 package bean; import java.sql.*; public class DBBean { private String driverStr="com.mysql.jdbc.Driver"; private String connStr="jdbc:mysql://localhost:3306/book?characterEncoding=gb2312"; private String dbusername="root"; private String dbpassword="root"; private Connection conn=null; private Statement stmt=null; public void DDBean() { try { Class.forName("com.mysql.jdbc.Driver"); conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/book","root","root"); stmt=conn.createStatement(); } catch(Exception ex) { System.out.println("数据库无法建立链接"); } } public int executeUpdate(String s) { int result=0; try{ result=stmt.executeUpdate(s);} catch(Exception ex) { System.out.println("执行更新错误"); } return result; } public ResultSet executeQuery(String s) { ResultSet rs=null; try{ rs=stmt.executeQuery(s);} catch(Exception ex) { System.out.println("执行查询错误"); } return rs; } public void close() { try{ stmt.close(); conn.close(); } catch(Exception e) { } } } 这是调用的代码 <%@ page language="java" import="java.sql.*" contentType="text/html; charset=GBK" pageEncoding="GBK"%> <!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=GBK"> <title>图书馆管理系统</title> </head> <body> <center><a href=add.jsp>添加图书信息</a></center><P> <table align="center" width="50%" border=1> <tr><th>书名</th><th>作者</th><th>价格</th><th>管理</th> <jsp:useBean id="db" class="bean.DBBean" scope="page"/> <% String s="select * from bookinfo"; ResultSet rs=db.executeQuery(s); while(rs.next()) { int id=rs.getInt(1); out.println("<tr><td>"+rs.getString(2)+"</td><td>"+rs.getString(3)+"</td><td>"+rs.getString(4)+"</td><td><a href='edit.jsp?id="+id+"'>修改</a>&nbsp;<a href='del.jsp?id="+id+"'>删除</a></td></tr>"); } rs.close(); db.close(); %> </table> </body> </html> 其实DBBean将访问数据库的函数集成了,后面的代码调用这个bean,结果一直报错,请问我的代码有错么
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
xinzhong机器人#1 · 2014/8/21
public void DBbean()....你把void去掉试试 通过『我邮2.0』发布
HB0318机器人#2 · 2014/8/21
void DBbean()成了方法了,不是构造函数吗?
lixing机器人#3 · 2014/8/22
你的public void DDBean()方法从头到位都没调用,数据库都没连接,肯定RS是Null啦。
HB0318机器人#4 · 2014/8/22
他的本意应该把这个当成构造函数吧。 【 在 lixing 的大作中提到: 】 : 你的public void DDBean()方法从头到位都没调用,数据库都没连接,肯定RS是Null啦。
coolguy2nd机器人#5 · 2014/8/22
DBBean DDBean
lixing机器人#6 · 2014/8/22
【 在 HB0318 的大作中提到: 】 : 他的本意应该把这个当成构造函数吧。 【 在 lixing 的大作中提到: 】 : 你的public void DDBean()方法从头到位都没调用,数据库都没连接,肯定RS是Null啦。 恩。我猜lz刚开始写的是public void DBBean(),结果报错,就改成了DD 发自「贵邮」
huangqiong机器人#7 · 2014/8/22
按着大家的意见改了,确实是我太粗心,但是还是不行······报同样的错java.lang.NullPointerException package bean; import java.sql.*; public class DBBean { private String driverStr="com.mysql.jdbc.Driver"; private String connStr="jdbc:mysql://localhost:3306/book?characterEncoding=GBK"; private String dbusername="root"; private String dbpassword="root"; private Connection conn=null; private Statement stmt=null; public DBBean() { try { Class.forName(driverStr); conn=DriverManager.getConnection(connStr,dbusername,dbpassword); stmt=conn.createStatement(); } catch(Exception ex) { System.out.println("数据库无法建立链接"); } } public int executeUpdate(String s) { int result=0; try{ result=stmt.executeUpdate(s);} catch(Exception ex) { System.out.println("执行更新错误"); } return result; } public ResultSet executeQuery(String s) { ResultSet rs=null; try{ rs=stmt.executeQuery(s);} catch(Exception ex) { System.out.println("执行查询错误"); } return rs; } public void close() { try{ stmt.close(); conn.close(); } catch(Exception e) { } } }
huangqiong机器人#8 · 2014/8/22
<%@ page language="java" import="java.sql.*" contentType="text/html; charset=GBK" pageEncoding="GBK"%> <!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=GBK"> <title>图书馆管理系统</title> </head> <body> <center><a href=add.jsp>添加图书信息</a></center><P> <table align="center" width="50%" border=1> <tr><th>书名</th><th>作者</th><th>价格</th><th>管理</th> <jsp:useBean id="db" class="bean.DBBean" scope="page"/> <% String s="select * from bookinfo"; ResultSet rs=db.executeQuery(s); while(rs.next()) { int id=rs.getInt(1); out.println("<tr><td>"+rs.getString(2)+"</td><td>"+rs.getString(3)+"</td><td>"+rs.getString(4)+"</td><td><a href='edit.jsp?id="+id+"'>修改</a>&nbsp;<a href='del.jsp?id="+id+"'>删除</a></td></tr>"); } rs.close(); db.close(); %> </table> </body> </html>
huangqiong机器人#9 · 2014/8/22
改了,还是不行[em9] 【 在 xinzhong 的大作中提到: 】 : public void DBbean()....你把void去掉试试 : 通过『我邮2.0』发布