看不出来,建议使用如下方式调试,察看每一步状态,再试试看。
try
{
Class.forName(driver);
                System.out.println('islogin.login print : jump 1');
conn=DriverManager.getConnection(url,login,password);
                System.out.println('islogin.login print : jump 2');
}
catch(Exception e)
{
System.out.print(e.getMessage());
}

解决方案 »

  1.   

    jsp中执行了
    login.get(getUser,getPassword);
    以后就执行
    login.close();
    在此时,rs、stmt、conn都是null,对null进行close()操作就会出现nullpointerException,正确的方法是在进行close操作以前先判断是不是null。public void close()
    {
    try
    {
                      if(rs != null)
    rs.close();
                      if(stmt != null)
    stmt.close();
                      if(conn != null)
    conn.close();
    }
    catch(SQLException ex1)
    {
    System.out.println(ex1.getMessage());
    }
    }
      

  2.   

    try
    {
    rs.close();
    stmt.close();
    conn.close();
    }
    ------------------------------------------
    程序怎么知道这些rs , stmt , conn 是什么?一定报空指针错!
    要关闭连结,应该在里面关,返回给jsp一个格式化好的结果集,
    在jsp中处理这个结果集,
    要么将连结建立在jsp中,关闭也要在jsp中进行,
    楼主的想法很好,但好像思路有问题。
      

  3.   

    照kadina(次帅)的建议该了
    public void close()
    {
    try
    {
                      if(rs != null)
    rs.close();
                      if(stmt != null)
    stmt.close();
                      if(conn != null)
    conn.close();
    }
    catch(SQLException ex1)
    {
    System.out.println(ex1.getMessage());
    }
    }结果还是:500 Servlet Exception
    java.lang.NullPointerException
    at login.isLogin.login(isLogin.java:41)
    at _login__jsp._jspService(/myjsp/login/login.jsp:18)
    at com.caucho.jsp.JavaPage.service(JavaPage.java:75)
    at com.caucho.jsp.Page.subservice(Page.java:506)
    at com.caucho.server.http.FilterChainPage.doFilter(FilterChainPage.java:182)
    at com.caucho.server.http.Invocation.service(Invocation.java:315)
    at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:135)
    at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:246)
    at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:164)
    at com.caucho.server.TcpConnection.run(TcpConnection.java:139)
    at java.lang.Thread.run(Thread.java:534)显然是没有得到值么!
    我想应该是JSP页面中的getUser 和getPassword 没有传到javaBean中去
    我做的那个javaBean看来还是有问题啊!
    哪个好心的高手能帮我该该么?
      

  4.   

    getPassword=request.getParameter("password");
    login.get(getUser,getPassword);
    这儿是不是要用login.login()啊
    login.close();
      

  5.   

    是不是缺少这么一句?
    stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
    既没有给stmt赋初值便rs=stmt.executeQuery(sql);
      

  6.   

    大家好
    我现在把代码该成这样了!
    还有错啊!package login;import java.io.*;
    import java.sql.*;public class isLogin
    {
        public String getUser;
        public String getPsw;
        private String driver;
        private String url;
        private String login;
        private String password;
        private String sql;
        private ResultSet rs;
        private Statement stmt;
        private Connection conn;
        private String str;
        public isLogin()
        {
            getUser = null;
            getPsw = null;
            driver = "sun.jdbc.odbc.JdbcOdbcDriver";
            url = "jdbc:odbc:login";
            login = "sa";
            password = "";
            sql = null;
            rs = null;
            stmt = null;
            conn = null;
            str = null;
        }    public void get(String s, String s1)
        {
            if(s != null)
                getUser = s;
            if(s1 != null)
                getPsw = s1;
        }    public  String login()
        {
            try
            {
                Class.forName(driver);
                conn = DriverManager.getConnection(url, login, password);
                stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
            }
            catch(Exception exception)
            {
                System.out.print(exception.getMessage());
            }
            try
            {
                sql = "select * from customer where userID='" + getUser + "' and userPassword='" + getPsw + "'";
                rs = stmt.executeQuery(sql);
                if(rs.next())
                 str = "login success!";
                else
                   str = "login fail!";
            }
            catch(SQLException sqlexception)
            {
                System.out.println(sqlexception.getMessage());
            }
            return str;
        }    public void close()
        {
            try
            {
                if(rs != null)
                    rs.close();
                if(stmt != null)
                    stmt.close();
                if(conn != null)
                    conn.close();
            }
            catch(SQLException sqlexception)
            {
                System.out.println(sqlexception.getMessage());
            }
        }
    }
      

  7.   

    把这段代码放到classes里面去
    编译后什么结果都没有了
    也不显示有错误
    但是应该有个语句显示的啊
    要么是login success!
    要么是login fail!
    为什么这些都不显示啊
    我就不知道我编的是错的还是对的了
    还有在javaBean中的返回值是字符的用return返回应该没有错吧!
      

  8.   

    login.get(getUser,getPassword);
    login.close();
    再上面的两句之间添加login.login();
      

  9.   

    你的jsp页里面有没有调用login()方法啊?
      

  10.   

    JSP部分的代码如下:
    <%@ page contentType="text/html;charset=gb2312"%> 
    <%@ page import="java.sql.*"%> 
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title></title>
    </head>
    <body>
    <jsp:useBean scope="page" id="userlogin" class="login.isLogin"/>
    <%
    ResultSet rs = null;
    String  getUser = new String();
    String  getPassword = new String();
    getUser=request.getParameter("user");
    getPassword=request.getParameter("password");
    userlogin.get(getUser,getPassword);
    userlogin.login();
    userlogin.close();
    %>
    大家帮我看看哪里有错了!
    谢谢了
    找到错误
    下班前就结贴!!
      

  11.   

    JSP中没有输出语句。
    <%
    ResultSet rs = null;
    String  getUser = new String();
    String  getPassword = new String();
    getUser=request.getParameter("user");
    getPassword=request.getParameter("password");
    userlogin.get(getUser,getPassword);
    //userlogin.login();
    String loginInfo = userlogin.login();
    out.print(loginInfo);
    userlogin.close();
    %>
      

  12.   

    我还有个问题要问大家
    就是login()的返回值的问题
    我是这样写的有问题么?
     public void get(String s, String s1)
        {
            if(s != null)
                getUser = s;
            if(s1 != null)
                getPsw = s1;
        }    public String  login()
        {
            try
            {
                Class.forName(driver);
                conn = DriverManager.getConnection(url, login, password);
                stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
            }
            catch(Exception exception)
            {
                System.out.print(exception.getMessage());
            }
            try
            {
                sql = "select * from customer where userID='" + getUser + "' and userPassword='" + getPsw + "'";
                rs = stmt.executeQuery(sql);
                if(rs.next())
                 str = "login success!";
                else
                   str = "login fail!";
            }
            catch(SQLException sqlexception)
            {
                System.out.println(sqlexception.getMessage());
            }
           return str;
           System.out.println(str);
        }
    我编译时候他显示说
    unreachable statement
    missing return statement
    但是我原来不是这样写的啊
    也不对的啊!
    能告诉我正确的写法么?
    谢谢了!!!!!!!!!!!!!!!!!
      

  13.   

    return str;
    System.out.println(str);
    你都return了,当然不会执行下面的语句了
      

  14.   

    现在显示的错误提示是:
    Note: sun.tools.javac.Main has been deprecated.
    /login/login.jsp:16: Incompatible type for declaration. Can't convert void
    to java.lang.String.
    String loginInfo = userlogin.login();
           ^
    1 error, 1 warning
    我是用String的类型的啊
    怎么说我是void的了!
      

  15.   

    我指的是public String login()
      

  16.   

    奇怪了
    大家帮我看看
    Note: sun.tools.javac.Main has been deprecated.
    /login/login.jsp:16: Invalid cast from void to java.lang.String.
    String loginInfo = (String)userlogin.login();
                       ^
    1 error, 1 warning
    还是有错误!!!!!!!
    login我是定义为String的返回类型的啊
    怎么硬要说我是void呢?
      

  17.   

    谢谢大家!
    特别感谢 netramper(过山风) 
    现在两个javaBean都能用了,我在公司也好交差了!
    ^_^