用户注册资料成功写入数据库,但同时报错!
执行文件出现以下错误,但数据成功写入数据库了.
请指点一下!
Error: 500
Location: /examples/reg.jsp
Internal Servlet Error:
javax.servlet.ServletException
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:459)
at _0002freg_0002ejspreg_jsp_43._jspService(_0002freg_0002ejspreg_jsp_43.java:149)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspCountedServlet.service(JspServlet.java:130)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:282)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:429)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:500)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)
at org.apache.tomcat.core.Handler.service(Handler.java:287)
at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:812)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:758)
at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
at java.lang.Thread.run(Thread.java:484)
Root cause:
java.lang.NullPointerException
at _0002freg_0002ejspreg_jsp_43._jspService(_0002freg_0002ejspreg_jsp_43.java:71)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspCountedServlet.service(JspServlet.java:130)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:282)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:429)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:500)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)
at org.apache.tomcat.core.Handler.service(Handler.java:287)
at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:812)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:758)
at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
at java.lang.Thread.run(Thread.java:484)
问题点数:50、回复次数:8Top
1 楼realyfly(^_^)回复于 2002-05-06 11:17:29 得分 0
Error: 500是jsp页面在编译成servlet的class文件的时候出错,
数据库写入前后某个地方应该是得到了空的对象,而你后来又使用了他Top
2 楼tyy_yun(郁闷啊~~~~)回复于 2002-05-06 11:39:41 得分 0
请问"得到空的对象"怎样解释啊?是指某项用户没有输入(如:sign),所以String sign=request.getParameter("sign")为空?当它为空时,我已经帮它赋值了,还是一样的错误.
我把用户输入和数据进库做到同一个文件里了Top
3 楼realyfly(^_^)回复于 2002-05-06 11:44:02 得分 0
因为你已经输入到数据库了,所以不是这个问题,看看执行完插入数据库以后的什么地方是不是有上面的情况Top
4 楼realyfly(^_^)回复于 2002-05-06 11:44:31 得分 0
最好把你的这个文件给拿出来看看Top
5 楼tyy_yun(郁闷啊~~~~)回复于 2002-05-06 12:05:37 得分 0
只是单单insert而已哦
部分:
......
<form name="reg" method="post" onsubmit="return check()" action="reg.jsp">
<tr>
<td width="31%" align="right" valign="middle" bgcolor="eeeeee">用户名:</td>
<td width="69%" align="left" valign="middle" bgcolor="eeeeee">
<input type="text" name="nickname" size="20" maxlength="20">
** </td>
</tr>
<tr>
<td width="31%" align="right" valign="middle">密码:</td>
<td width="69%" align="left" valign="middle">
<input type="password" name="pw" size="12" maxlength="12">
** </td>
</tr>
<tr>
<td width="31%" align="right" valign="middle" bgcolor="eeeeee">确认密码:</td>
<td width="69%" align="left" valign="middle" bgcolor="eeeeee">
<input type="password" name="pwa" size="12" maxlength="12">
** </td>
</tr>
<tr>
<td width="31%" align="right" valign="middle">密码提示:</td>
<td width="69%" align="left" valign="middle">
<input type="text" name="question" size="20">
** </td>
</tr>
...........
<%@ page import="java.sql.*"%>
<%@ page contentType="text/html;charset=gb2312"%>
<%
String nickname=request.getParameter("nickname");
String pw=request.getParameter("pw");
String pwa=request.getParameter("pwa");
String question=request.getParameter("question");
..........
Connection con=null;
Statement stmt=null;
try
{
Class.forName("org.gjt.mm.mysql.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost/guanli?user=root&password=sunshine&useUnicode=true&characterEncoding=gb2312");
stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
String doinsert="insert into student(stulogindate,stulogoutdate,stunickname,stupw,stuquestion) values('"+s+"','"+ss+"','"+nickname+"','"+pw+"','"+question+"')";
stmt.executeUpdate(doinsert);
stmt.close();
con.close();
}
catch(SQLException E){
out.println("SQLException:"+E.getMessage());
out.println("SQLState:"+E.getSQLState());
out.println("VendorError:"+E.getErrorCode());
}
%>Top
6 楼lgcfm(一王情深---芙蓉王)回复于 2002-05-06 12:17:31 得分 0
重新启动你的webserver即可Top
7 楼realyfly(^_^)回复于 2002-05-06 12:21:07 得分 50
好像是这样的,你每次执行你的reg.jsp的时候后面的jsp代码都有执行
也就是说
String nickname=request.getParameter("nickname");
String pw=request.getParameter("pw");
String pwa=request.getParameter("pwa");
String question=request.getParameter("question");
是始终要执行的,
你把这两个页面分开来看一下Top
8 楼tyy_yun(郁闷啊~~~~)回复于 2002-05-06 12:44:26 得分 0
可以了.
感谢!:)Top




