遇到HTTP Status 500 - 问题

dingfengwei 2012-04-30 12:55:31
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
java.lang.NullPointerException
bookp.Datebase.queryboolen(Datebase.java:79)
Servlet.Tianjia.doPost(Tianjia.java:50)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.24 logs.



bookp.Datebase.queryboolen(Datebase.java:79)那个空指针怎么解决啊 在下面红色代码段

package bookp;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;


public class Datebase {
String dbDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; // 连接sql数据库的方法
String url = "";
String username = "";
String password = "";
Connection dbcon=null;
Statement stmt=null;
ResultSet rs=null;
PreparedStatement statement=null;
private static String FILE_PATH_NAME = "/database.properties";//数据库路径名

/*
* 初始化操作,包括给变量赋初值和连接数据库
*/
public Datebase() {
try {
InputStream in = getClass().getResourceAsStream(FILE_PATH_NAME);
Properties props = new Properties();
props.load(in);
in.close();
System.out.println(getClass().getResourceAsStream(FILE_PATH_NAME));
username = props.getProperty("username");
password = props.getProperty("password");
url = "jdbc:sqlserver://localhost:" + props.getProperty("port")
+ ";DatabaseName=library";
Class.forName(dbDriver); // 声明所调用的类包
dbcon = DriverManager.getConnection(url, username, password); // 获得数据库的连接对象
} catch (Exception e) {
e.printStackTrace();
}
}

/*
* 对数据库执行插入、删除、更新 等操作,返回一个布尔值。
*/
public boolean exeSql(String strSql) {
try {
stmt = dbcon.createStatement(); //由Connection对象创建Statement对象。
stmt.executeUpdate(strSql); //可以返回受影响的行数。
return true;
} catch (Exception e) {
System.out.println(e.toString());
return false;
}
}
/*
* 执行查询操作,返回一个ResultSet类型的对象。
*/
public ResultSet exeSqlQuery(String strSql) {
try {
stmt = dbcon.createStatement();
rs = stmt.executeQuery(strSql); //返回单个ResultSet对象即查询结果集。
} catch (SQLException e) {
System.out.println(e.toString());
rs = null;
}
return rs;
}

/*
*执行查询,返回boolean型。
*/
public boolean queryboolen(String strSql){
boolean bb=false;
try{
stmt=dbcon.createStatement();
rs=stmt.executeQuery(strSql);
if(rs.next()){
bb=true;
}
}catch(SQLException e){
System.out.println(e.toString());
bb=false;
}
return bb;

}

/*
* 使用预编译语句,由Connection对象创建PrepareStatement对象。
* 然后执行sql语句中的每一个问号【从1开始编号】,比如statement.setString(1,username);
* 然后执行ResultSet rest=statement.executeQuery() 来执行sql语句;即返回的是ResultSet查询结果集,
* 然后可用while(rest.next())来列出,比如rest。getString("name")等。
* 如果查询语句没有问号的话直接执行PrepareStatement对象statement的executeQuery()返回ResultSet结果集。
*
* 如果是插入语句也是先设置预处理语句参数即问号。然后执行statement.executeUpdate()执行sql语句。
*/
public PreparedStatement exeprepared(String strSql){

try {
statement=dbcon.prepareStatement(strSql); //只是返回PrepareStatement对象,不是结果集。
} catch (SQLException e) {

e.printStackTrace();
}
return statement;
}

/*
* 返回满足条件的记录条数【此法是通用方法】,要求sql语句必须是:countnum
* select count(user_id) countnum from userinfo where education='硕士'
* */
public int get_number(String sql){
int num=0;
try{

stmt=dbcon.createStatement();
rs=stmt.executeQuery(sql);
if(rs.next()){
num=rs.getInt("countnum");
}
rs.close();
}catch(SQLException e){
System.out.println(e.toString());
}
return num;
}



/*
*关闭数据库连接
*/
public void close()
{
try{
if(rs!=null)
rs.close();
if(stmt!=null)
stmt.close();
if(dbcon!=null)
dbcon.close();
}catch(Exception e)
{
System.out.println(e.getMessage());
}
}


public static void main(String[] args) {
ResultSet rs1;
Datebase db=new Datebase();
rs1=db.exeSqlQuery("select * from userinfo");
try {
while(rs1.next())
{
System.out.println(rs1.getString(2));
}
} catch (Exception e) {
e.printStackTrace();
}
db.close();
}

}

...全文
119 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
kankan231 2012-04-30
  • 打赏
  • 举报
回复
好长啊,找不到79行

58,454

社区成员

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

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