java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
2010-3-4 12:11:21 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet Query threw exception
java.lang.NullPointerException
at com.bjsxt.bean.Databean.login(Databean.java:37)
at com.bjsxt.servlet.Query.doPost(Query.java:58)俩个错误。。
JDBC驱动已安装。
SP4补丁已安装。
1433端口连不上。。
防火墙都关闭。
SQLSERVER端口设置正确。
求解啊

解决方案 »

  1.   

    java.lang.NullPointerException 
    at com.bjsxt.bean.Databean.login(Databean.java:37) 自己去37行 看看 debug 一下 看看哪个值为 null
      

  2.   

    Databean 类
    public class Databean {
    String dbDriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; String dbName = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test"; ResultSet rs = null; Connection conn = null; PreparedStatement pre = null; Statement sta = null; public Databean() {
    try {
    Class.forName(dbDriver);
    } catch (java.lang.ClassNotFoundException e) {
    System.out.print("Class not found!" + e.getMessage());
    }
    try {
    conn = DriverManager.getConnection(dbName, "sa", "");
    } catch (SQLException e3) {
    System.out.print(e3);
    }
    }
    public boolean login(user users) throws SQLException { boolean i = false;
    // 比对信息
    String sql = "select studentId,password from student where studentId = ? and password =?"; pre = conn.prepareStatement(sql); pre.setInt(1, users.getUsername());
    pre.setString(2, users.getPassword()); ResultSet rs1 = pre.executeQuery();
    if (rs1.next()) {
    i = true;
    rs1.close();
    pre.close();
    } else {
    i = false;
    rs1.close();
    pre.close();
    }
    conn.close();
    return i;
    }
    }返回SERVLET
    public class Query extends HttpServlet {
    public Query() {
    super();
    } protected void doPost(HttpServletRequest request,
    HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=gbk");
    request.setCharacterEncoding("gbk");
    String name = request.getParameter("name");
    String pwd = request.getParameter("pwd");
    user users = new user(); users.setUsername(Integer.parseInt(name));
    users.setPassword(pwd); Databean db = new Databean();
    System.out.println(request.getParameter("name"));
    System.out.println(request.getParameter("pwd")); boolean isLogin;
    try {
    isLogin = db.login(users); if (isLogin) {
    request.getRequestDispatcher("/login_success.jsp").forward(request, response);
    } else {
    request.getRequestDispatcher("/login_success.jsp").forward(request, response);
    } } catch (SQLException e) {
    e.printStackTrace();
    }
    } protected void doGet(HttpServletRequest request,
    HttpServletResponse response) throws ServletException, IOException {
    doPost(request, response);
    }
    }FORM表单
    <form name="form1" method="post" action="query"
    onsubmit="return check();">请输入用户名:<input type="text" name="name"><br />
    请输入密码:<input type="password" name="pwd"> <br />
    <input type="submit" name="submit" value="登录" /></form>