插入数据库出错,新手求教

qq280159235 2012-08-06 03:28:26
错误是:The server encountered an internal error () that prevented it from fulfilling this request.

exception

java.lang.NullPointerException
cn.wy.CtrlServlet.Reg.processRequest(Reg.java:63)
cn.wy.CtrlServlet.Reg.doPost(Reg.java:86)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.35 logs.
源码:
DBConnection dbc=null;
String userEmail;
String userName;
String userPwd;
//int userSex;
//Date userbirthday = null;
//String userSchool;
response.setContentType("text/html;charset=UTF-8");
out = response.getWriter();
try{ dbc = new DBConnection();
PreparedStatement ps = null;
userEmail = request.getParameter("userEmail");
userName = request.getParameter("userName");
userPwd = request.getParameter("userPwd");
System.out.print(userEmail);
System.out.print(userName);
System.out.print(userPwd);
//userSex = Integer.parseInt(request.getParameter("userSex"));

//userSchool = request.getParameter("userSchool");
if (userName != null && userPwd != null && userEmail != null)
{
ps = dbc.getCon().prepareStatement("insert into ceshi (userEmail,userName,userPwd)" +" values(?,?,?)");
ps.setString(1, userEmail);
ps.setString(2, userName);
ps.setString(3, userPwd);
// //ps.setDate(5, userbirthday);
//ps.setInt(4, userSex);
ps = dbc.getCon().prepareStatement("insert into ceshi values(userEmail,userName,userPwd)");
ps.execute();
System.out.print("新用户注册:" + request.getParameter("userName") + " ");
out.print("<script>alert('恭喜您:注册成功!现已经登录到网站!');history.go(-1)</script>");
}
if (dbc != null)
dbc.dbClose();
}
catch(SQLException ex)
{ out.print("<script>alert('注册失败!数据库连接错误!');history.go(-1)</script>");
ex.printStackTrace();
if (dbc != null)
dbc.dbClose(); }
}
...全文
82 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxw3152 2012-08-06
  • 打赏
  • 举报
回复
空指针异常 跟踪一下你的代码 应该很快就解决了 。。
qq280159235 2012-08-06
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

首先,看你要写的几个值打印出来都不是null
其次,看看你数据库字段设的属性是什么,是否长度不够
[/Quote]我写的那几个值都不为空;这句话有错,没看出哪里错了ps = dbc.getCon().prepareStatement("insert into ceshi (userEmail,userName,userPwd)" +" values(?,?,?)");
huaihuaidexiao 2012-08-06
  • 打赏
  • 举报
回复
看看这行附近的变量在使用前是不是忘记赋值了。

cn.wy.CtrlServlet.Reg.processRequest(Reg.java:63)

空指针异常 基本上都是这个原因。
YAVA_2009 2012-08-06
  • 打赏
  • 举报
回复
首先,看你要写的几个值打印出来都不是null
其次,看看你数据库字段设的属性是什么,是否长度不够
iGoodLoser 2012-08-06
  • 打赏
  • 举报
回复
空指针异常cn.wy.CtrlServlet.Reg.processRequest(Reg.java:63)63行,分析下吧,别人帮不了你
quanwe 2012-08-06
  • 打赏
  • 举报
回复
或者重启去吧
quanwe 2012-08-06
  • 打赏
  • 举报
回复
施主...调试下吧...明显告诉你是NullPointerException ...

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧