/*
* Created on 2004-9-24
*
* To change the template for this generated file go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
package com.department; import java.io.IOException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession; import oa.sys.Db;
import oa.sys.Str;
/**
****************************************************
*类名称: Add <br>
*类功能: 增加部门信息 <br>
*创建: 白伟明 2004年9月23日 <br>
****************************************************
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class Add extends HttpServlet{
private HttpSession session=null;
private Statement stmt=null;
private ResultSet rs=null;
private String name,explain,sqli,sqls;
private int temp=0; public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException{
request.setCharacterEncoding("gb2312");
response.setContentType("text/html; charset=gb2312");
Str str=new Str();
Db db=new Db();
session=request.getSession();
name=request.getParameter("name");
explain=request.getParameter("explain");
name=str.inStr(name);
explain=str.inStr(explain);
sqli="INSERT INTO department(name,explain) VALUES('"+name+"','"+explain+"')";
sqls="SELECT * FROM department WHERE name='"+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 (SQLException e) {
e.printStackTrace();
}finally{
db.close();
RequestDispatcher dispatcher=request.getRequestDispatcher("add.jsp");
dispatcher.forward(request,response);
} }
public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException{
doPost(request,response);
}
}
空指针提示(空指针提示问题,急用!请各位大哥找找再怎么回事?):
-------------------------------------------------------------------------------- type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception java.lang.NullPointerException
com.department.Add.doPost(Add.java:53)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.25 logs.
rs=stmt.executeQuery(sqls); 这个地方报错!空指针
* Created on 2004-9-24
*
* To change the template for this generated file go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
package com.department; import java.io.IOException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession; import oa.sys.Db;
import oa.sys.Str;
/**
****************************************************
*类名称: Add <br>
*类功能: 增加部门信息 <br>
*创建: 白伟明 2004年9月23日 <br>
****************************************************
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class Add extends HttpServlet{
private HttpSession session=null;
private Statement stmt=null;
private ResultSet rs=null;
private String name,explain,sqli,sqls;
private int temp=0; public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException{
request.setCharacterEncoding("gb2312");
response.setContentType("text/html; charset=gb2312");
Str str=new Str();
Db db=new Db();
session=request.getSession();
name=request.getParameter("name");
explain=request.getParameter("explain");
name=str.inStr(name);
explain=str.inStr(explain);
sqli="INSERT INTO department(name,explain) VALUES('"+name+"','"+explain+"')";
sqls="SELECT * FROM department WHERE name='"+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 (SQLException e) {
e.printStackTrace();
}finally{
db.close();
RequestDispatcher dispatcher=request.getRequestDispatcher("add.jsp");
dispatcher.forward(request,response);
} }
public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException{
doPost(request,response);
}
}
空指针提示(空指针提示问题,急用!请各位大哥找找再怎么回事?):
-------------------------------------------------------------------------------- type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception java.lang.NullPointerException
com.department.Add.doPost(Add.java:53)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.25 logs.
rs=stmt.executeQuery(sqls); 这个地方报错!空指针
得到的为null
第53行代码报空指针,哪一行代码是第53行?最好有把行号也发出来。
把你用到的值在控制台输出,看是不是null.
那么就是 stmt=db.getStmtread(); 这个为空。去检查Db类里面的代码。
一般数据库的DBUtil类都应该先测试的。建议在里面建个main方法测试所有的数据库方法。。
System.out.println(stmt);
看看结果是不是null
是的话 那就是你没连接上数据库了 Connection出问题了
启动一下数据库的服务就OK了
楼主试下
进行跟踪,找出是那里是空值
你自己调试下看看有没有得到stmt对象