在eclipse上写添加学生信息时报错
InsertSevlet中的部分代码:
response.setContentType("text/html;charset=utf-8");
HttpSession session=request.getSession();
//PrintWriter out=response.getWriter();
String id=request.getParameter("id");
String name=request.getParameter("name");
String sex=request.getParameter("sex");
String age=request.getParameter("age");
String address=request.getParameter("address");
Player p=null;
Worksql w=null;
if(id.equals("")||name.equals("")||sex==null||age.equals("")||address.equals("")){
session.setAttribute("insertstr","请填写完整!");
request.getRequestDispatcher("/insertfail.jsp").forward(request,response);
}else{
p=new Player();
w=new Worksql();
p.setId(id);
p.setName(name);
p.setSex(sex);
p.setAge(age);
p.setAddress(address);
Player p1=w.selectInformation(p);
if(id.equals(p1.getId())){
session.setAttribute("insertstr","已经有此学生!");
request.getRequestDispatcher("/insertfail.jsp").forward(request,response);
}else{
int n=w.insertInformation(p);
if(n!=0){
request.getRequestDispatcher("/insertok.jsp").forward(request,response);
}
}
}
HTTP状态 500 - 内部服务器错误
类型 异常报告
描述 服务器遇到一个意外的情况,阻止它完成请求。
例外情况
java.lang.NullPointerException
Servlet.InsertServlet.doGet(InsertServlet.java:42)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
console:
严重: 在路径为[/Test]的上下文中,servlet[Servlet.InsertServlet]的Servlet.service()引发异常
java.lang.NullPointerException
建议你debug一下。看哪里空指针了。空指针就是这个参数为null但是你却使用它的方法。所以空指针异常。
InsertServlet.java:42
这行代码看一下。
Player p1=w.selectInformation(p);
是不是查询的结果p1为空,导致后面判断时,p1.getId()空指针异常了。
打个断点一步步走一下看看。
另外.equals方法你这么用不太建议,一般情况把比较的值放前面,参数放后面,可以防止空指针。例如
if(("").equals(id)||("").equals(name)){}