为什么会报空指针异常?

用DB类封装了数据库的连接操作,执行stat=dbcon.prepareStatement("select*fromuserwhereu_name=?andpwd=?")... 用DB类封装了数据库的连接操作,执行stat = dbcon.prepareStatement("select * from user where u_name=? and pwd=?");时报空指针异常

public class RegistorForm extends HttpServlet {
Connection dbcon;
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, java.io.IOException {
DB db=new DB();
dbcon=db.getCon();
resp.setContentType("text/html");
PrintWriter out = resp.getWriter();
String firstname = req.getParameter("username").trim();
String lastname = req.getParameter("pass").trim();
System.out.println(firstname+lastname);

PreparedStatement stat;
try {
stat = dbcon.prepareStatement("select * from user where u_name=? and pwd=?");
stat.setString(1, firstname);
stat.setString(2, lastname);
ResultSet rows = stat.executeQuery();
if (!rows.next()) {
PreparedStatement stat2;
stat2 = dbcon
.prepareStatement("insert into user(u_name,pwd) values (?,?)");
stat2.setString(1, firstname);
stat2.setString(2, lastname);
int result = stat2.executeUpdate();
if(result==1)
System.out.println("注册成功");
} else {
System.out.println("用户名重复");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
展开
 我来答
杨柳风83
推荐于2017-09-29 · 知道合伙人教育行家
杨柳风83
知道合伙人教育行家
采纳数:4976 获赞数:114076
2009年大学毕业,10年参加工作,在古浪县新堡初级中学教书

向TA提问 私信TA
展开全部
  1.所谓的指针,就是java中的对象的引用。比如String s;这个s就是指针。
  2.所谓的空指针,就是指针的内容为空,比如上面的s,如果令它指向null,就是空指针。
  3.所谓的空指针异常,就是一个指针是空指针,你还要去操作它,既然它指向的是空对象,它就不能使用这个对象的方法。比如上面的s假如为null,你还要用s的方法,比如s.equals( String x);那么就会产生空指针异常。
乐乐带你用软件
2013-08-14 · 超过19用户采纳过TA的回答
知道答主
回答量:65
采纳率:0%
帮助的人:51万
展开全部
确认定位到哪一行空指针错误。
一般都是对象为空时,取值/设置值 时报错。
追问
就是stat访问不到
追答
没有操作只是声明。
改一下。在异常抓取内部使用。
//PreparedStatement stat;//删除此行
try {
PreparedStatement stat = dbcon.prepareStatement("select * from user where u_name=? and pwd=?");
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9e5be11
2013-08-14
知道答主
回答量:3
采纳率:0%
帮助的人:2.7万
展开全部
如果确实是定位到了这一行,空指针错误应该只会是dbcon为null
设个断点或者print看一下吧
追问
报的错是:
严重: Servlet.service() for servlet [RegistorForm] in context with path [/bbs] threw exception
java.lang.NullPointerException
at servlet.RegistorForm.doPost(RegistorForm.java:27)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
努力只是为了梦
2013-08-14
知道答主
回答量:8
采纳率:100%
帮助的人:3.3万
展开全部
眨眼一看user是个关键字
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式