java.lang.NullPointerException错误不知什么问题

zjq5308 2005-06-06 11:11:41
CreateCon类
package com.ushio.oa;
import java.sql.*;
/**
* @author user
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class CreateCon {
Connection con;
Statement stmt;
public Connection getCon()
{
try{
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
}catch(Exception e){
System.err.println(e.getMessage());
}
String sqlStr="String strUrl=jdbc:mysql://localhost/Emp_Info?user=root&password=ushio&useUnicode=true&characterEncoding=GB2312";
try{
con=DriverManager.getConnection(sqlStr);

}catch(SQLException ex)
{
System.out.print(ex);
}
return con;
}
public Statement getStmt()
{
//con=getCon();
try{
stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
}catch(SQLException ex)
{
System.out.println(ex.getMessage());
}
return stmt;
}

}

loginAccount类


/*
* Created on 2005-6-5
*
* To change the template for this generated file go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
package com.ushio.oa;
import java.sql.*;
//import com.ushio.oa.*;
/**
* @author user
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class loginAccount{
public ResultSet db_query(String sql)
{
Statement stmt;
CreateCon aa=new CreateCon();
stmt=aa.getStmt();
//Connection con=aa.getCon();
ResultSet rs=null;
try {
rs=stmt.executeQuery(sql);
}catch(SQLException e)
{
System.out.println(e.getMessage());
}


return rs;

}
public void db_update(String sql)
{
boolean success;
Statement stmt;
CreateCon ConCreater=new CreateCon();
stmt=ConCreater.getStmt();
try{
success=stmt.execute(sql);
}catch(SQLException e)
{
System.out.print(e.getMessage());
}
}


}



newUser 类

/*
* Created on 2005-6-6
*
* To change the template for this generated file go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
package com.ushio.oa;

/**
* @author user
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class newUser {
String user;
String password;
String Department;
int power;
public void setUser(String strUser)
{
user=strUser;
}
public String getUser()
{
return user;
}
public void setPassword(String strPwd)
{
password=strPwd;
}
public String getPassword()
{
return password;
}
public void setDepartment(String strDepartment)
{
Department=strDepartment;
}
public String getDepartment()
{
return Department;
}

public void setPower(int intPower)
{
power=intPower;
}
public int getPower()
{
return power;
}
public boolean adduser()
{
boolean success=true;
String sqlStr="";
if(user=="")
{
success=false;
}
loginAccount db_action=new loginAccount();
sqlStr="insert into login_account(user,password,Department,power) values('"+user+"','"+password+"','"+Department+"','"+power+"')";
db_action.db_update(sqlStr);
return success;

}
}





regpage.jsp

<%@ page language="java" %>
<!DOCTYPE HTML PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>User Regation</title>
</head>
<body bgcolor="#FFFFFF">
<form method="post" name="reguser" action="regDo.jsp" >
<table align="center">
<tr><td align="center">UserReg</td></tr>
<tr><td>Please Input UserName:<input type="text" name="user" size="15"></td></tr>
<tr><td>Please Input Password:<Input type="password" Name="password" size="15"></td></tr>
<tr><td>Please Input Department:<Input type="text" Name="Department" size="15"></td></tr>
<tr><td>Please Input PowerLevel:<Input type="Text" Name="power" size="5">*input the int</td></tr>
<tr><td><input type="submit" value="AddNew"></td></tr>
</table>
</form>
</body>
</html>


regDo.jsp
<%@ page language="java" %>
<!DOCTYPE HTML PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Lomboz JSP</title>
</head>
<body bgcolor="#FFFFFF">
<jsp:useBean id="addnew" scope="page" class="com.ushio.oa.newUser"/>
<%
String user=request.getParameter("user");
String password=request.getParameter("password");
String Department=request.getParameter("Department");
String power=request.getParameter("power");
addnew.setUser(user);
addnew.setPassword(password);
addnew.setDepartment(Department);
addnew.setPower(1);
boolean aa=addnew.adduser();
out.println(aa);
%>
</body>
</html>

问题是点击addnew后出现
下面的错误

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

java.lang.NullPointerException
com.ushio.oa.CreateCon.getStmt(CreateCon.java:39)
com.ushio.oa.loginAccount.db_update(loginAccount.java:40)
com.ushio.oa.newUser.adduser(newUser.java:63)
org.apache.jsp.regDo_jsp._jspService(regDo_jsp.java:67)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.


...全文
248 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fashchina 2005-06-07
  • 打赏
  • 举报
回复
一般是数据库连接,仔细找找
zjq5308 2005-06-07
  • 打赏
  • 举报
回复
问题找到了.Statement stmt=null;应放在类体内.不是放在方法体内
zjq5308 2005-06-06
  • 打赏
  • 举报
回复
变量未初始化话在写Beans的时候Eclipse就会提示出错的。
zjq5308 2005-06-06
  • 打赏
  • 举报
回复
public Statement getStmt()
{
//con=getCon();出错时没有注视掉
try{
stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
}catch(SQLException ex)
{
System.out.println(ex.getMessage());
}
return stmt;
}
晨星 2005-06-06
  • 打赏
  • 举报
回复
在所有的getStmt之前,都调用getCon了么?
晨星 2005-06-06
  • 打赏
  • 举报
回复
通常是变量未初始化就直接使用(比如调用方法),仔细检查一下代码吧。

81,092

社区成员

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

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