请大家帮看看这是什么问题,数据库查询是有结果的,但是rs.next()却是空指针。
环境如下:tomcat服务器,javabean连接数据库,环境配置经测试是没有问题的
代码如下:package com.bwm.db;
import java.sql.*;
public class Conn{
    private static Connection con;
    private Statement stmt;
    private ResultSet rs;
    private static final String drivername =
        "com.microsoft.jdbc.sqlserver.SQLServerDriver";
    private static final String url= "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=db_Job;user=sa;password=root";  
    public static synchronized Connection getCon() throws Exception {
        try {
            Class.forName(drivername);
            con = DriverManager.getConnection(url);
            return con;
        } catch (SQLException e) {
            System.err.println(e.getMessage());
            throw e;
        }
    } 
    public Statement getStmtread() {
        try {
            con = getCon();
            stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                                       ResultSet.CONCUR_READ_ONLY);
            return stmt;
        } catch (Exception e) {
            System.err.println(e.getMessage());
            e.printStackTrace();
        }
        return null;
    } 
    public ResultSet getRs(String sql) {
        try {
            stmt = getStmtread();
            rs = stmt.executeQuery(sql);
            return rs;
        } catch (Exception e) {
            System.err.println(e.getMessage());
            e.printStackTrace();
        }
        return null;
    }
    public Statement getStmt() {
        try {
            con = getCon();
            stmt = con.createStatement();
            return stmt;
        } catch (Exception e) {
            System.err.println(e.getMessage());
            e.printStackTrace();
        }
        return null;
    }   
    public synchronized void close() {
        try {
            if (rs != null) {
                rs.close();
                rs = null;
            }
        } catch (Exception e) {
            System.err.println(e.getMessage());
            e.printStackTrace();
        }
        try {
            if (stmt != null) {
                stmt.close();
                stmt = null;
            }
        } catch (Exception e) {
            System.err.println(e.getMessage());
            e.printStackTrace();
        }
        try {
            if (con != null) {
                con.close();
                con = null;
            }
        } catch (Exception e) {
            System.err.println(e.getMessage());
            e.printStackTrace();
        }
    }
}jsp中应用代码如下:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" %>
<%@ page import="com.bwm.db.Conn"%><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>首页</title>
<link href="css/style.css" rel="stylesheet">
</head><body>
<%
    Conn con=new Conn();

    String sql="select * from tb_mytest";
ResultSet rs=con.getRs(sql);
while(rs.next()){
out.println(rs.getString(1));
}
con.close();
%>
</body>
</html>错误提示如下:HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage 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
org.apache.jsp.mytest_jsp._jspService(mytest_jsp.java:60)
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)Conn.java已经编译,并将Conn.class文件放入对应的文件夹里了。请大家帮看看是哪儿有错误呢?拜托了!!

解决方案 »

  1.   

    你确定是执行rs.next()时出错?
      

  2.   

    你走错圈子了!去Java论坛专区吧!
      

  3.   


    确定,因为在While(rs.next())前面加了一条if(rs!=null)语句,程序就可以运行空白页了
      

  4.   

    有没有发现你的jsp页面没有使用到com.bwm.db.Conn这个类, jsp里的con是初始化了~~但是是这么初始化的吗?你看看你的com.bwm.db.Conn类是怎么初始化con的,com.bwm.db.Conn里初始化是正确的,但是jsp里con初始化有问题