问题描述
/**Createdon2004-9-24**Tochangethetemplateforthisgeneratedfilegoto*Window>Preferences>Java>CodeGeneration>CodeandComments*/packagecom.department;importjava.io.IOException;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjavax.servlet.RequestDispatcher;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importoa.sys.Db;importoa.sys.Str;/*******************************************************类名称:Add<br>*类功能:增加部门信息<br>*创建:白伟明2004年9月23日<br>*****************************************************Tochangethetemplateforthisgeneratedtypecommentgoto*Window>Preferences>Java>CodeGeneration>CodeandComments*/publicclassAddextendsHttpServlet{privateHttpSessionsession=null;privateStatementstmt=null;privateResultSetrs=null;privateStringname,explain,sqli,sqls;privateinttemp=0;publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{request.setCharacterEncoding("gb2312");response.setContentType("text/html;charset=gb2312");Strstr=newStr();Dbdb=newDb();session=request.getSession();name=request.getParameter("name");explain=request.getParameter("explain");name=str.inStr(name);explain=str.inStr(explain);sqli="INSERTINTOdepartment(name,explain)VALUES('"+name+"','"+explain+"')";sqls="SELECT*FROMdepartmentWHEREname='"+name+"'";stmt=db.getStmtread();try{rs=stmt.executeQuery(sqls);//查询添加部门是否存在if(rs.next()){session.setAttribute("depmsg","该部门已存在");}else{rs.close();stmt.close();//添加部门stmt=db.getStmt();temp=stmt.executeUpdate(sqli);if(temp>0){session.setAttribute("depmsg","添加成功");}else{session.setAttribute("depmsg","添加失败");}}}catch(SQLExceptione){e.printStackTrace();}finally{db.close();RequestDispatcherdispatcher=request.getRequestDispatcher("add.jsp");dispatcher.forward(request,response);}}publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{doPost(request,response);}}空指针提示(空指针提示问题,急用!请各位大哥找找再怎么回事?):--------------------------------------------------------------------------------typeExceptionreportmessagedescriptionTheserverencounteredaninternalerror()thatpreventeditfromfulfillingthisrequest.exceptionjava.lang.NullPointerExceptioncom.department.Add.doPost(Add.java:53)javax.servlet.http.HttpServlet.service(HttpServlet.java:710)javax.servlet.http.HttpServlet.service(HttpServlet.java:803)noteThefullstacktraceoftherootcauseisavailableintheApacheTomcat/5.5.25logs.rs=stmt.executeQuery(sqls);这个地方报错!空指针
解决方案
解决方案二:
看看数据库里面有值吗?某些表的某些字段为null会引起空指针异常
解决方案三:
谢谢!下先看看是不?
解决方案四:
表的某些字段为有数据
解决方案五:
看不懂。。。
解决方案六:
stmt=db.getStmtread();得到的为null
解决方案七:
markupmark
解决方案八:
com.department.Add.doPost(Add.java:53)zheyihangdedaimashishenme???
解决方案九:
com.department.Add.doPost(Add.java:53)第53行代码报空指针,哪一行代码是第53行?最好有把行号也发出来。把你用到的值在控制台输出,看是不是null.
解决方案十:
把stmt打印出来。应该是为null的。那么就是stmt=db.getStmtread();这个为空。去检查Db类里面的代码。一般数据库的DBUtil类都应该先测试的。建议在里面建个main方法测试所有的数据库方法。。
解决方案十一:
添加一句代码调试一下System.out.println(stmt);看看结果是不是null是的话那就是你没连接上数据库了Connection出问题了启动一下数据库的服务就OK了楼主试下
解决方案十二:
该回复于2009-05-25 14:54:22被版主删除
解决方案十三:
人呢?这里直接数的行数不准确的需要楼主把那行代码贴出来
解决方案十四:
你最好多System.out.println()几次;进行跟踪,找出是那里是空值
解决方案十五:
应该是stmt没得到吧!你自己调试下看看有没有得到stmt对象
解决方案:
数据库连接的代码在Db.java这个类里吧,返回的stmt为null,那肯定是在getStmtread();里了不知道你这方法的代码是什么,不过问题肯定是处在这