遇到HTTP Status 500 - 问题
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();
}
}
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();
}
}
...全文
相关推荐
Tomcat报错:HTTP Status 500 (Wrapper cannot find servlet class)解决办法
首先,要理解HTTP Status 500错误是服务器内部错误的一种,它表示服务器遇到了意外情况,使其无法完成对请求的处理。
学习HTTP Status Code的一些总结
HTTP Status Code,即HTTP状态码,是HTTP协议中用于表示客户端与服务器交互结果的重要组成部分。它们为开发者提供了关于请求是否成功、需要进一步操作还是存在错误的直观反馈。
http-status:代表HTTP状态代码的Java常数和异常
**服务器错误**:如500(内部服务器错误)、503(服务不可用),表明服务器在处理请求时遇到了问题。
request.setAttribute 语句前总显示红色感叹号解决办法 HTTP Status 500 -
### 解决request.setAttribute 语句前总显示红色感叹号及HTTP Status 500问题在Java Web开发中,我们经常遇到各种运行时错误或编译错误,其中一种较为常见的问题是`
http500内部服务器错误解决方法.txt
### HTTP 500 内部服务器错误解决方法HTTP 500错误是一种常见的Web服务器错误,当服务器遇到无法处理的请求时就会返回此错误。


Eclipse
