错误信息是这样的:exception org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
root cause java.lang.NullPointerException
org.apache.jsp.login1_jsp._jspService(login1_jsp.java:72)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

解决方案 »

  1.   

    空指针啊,看看你的取值的时候判断了吗?
    sql语句拿到后台执行看是否有数据产生?
      

  2.   

    String sql="select * from login where id='"+us+"' and password='"+ps+"';";写法有问题String sql="select * from login where id=\'"+us+"\' and password=\'"+ps+"\'";单引号用转移符,发送给数据库的sql语句最后不用加分号
      

  3.   

    这是DBconn.java的源码:package com.coolservlets.beans;import java.sql.*;
    public class DBconn {
        //private String driverName = "org.gjt.mm.mysql.Driver";
        private String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";      //"oracle.jdbc.driver.OracleDriver";
        //private String url = "jdbc:mysql://localhost:3306/feedman"; 
        private String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=temp";          //"jdbc:oracle:thin:@127.0.0.1:1521:oracle";
        private String user = "sa";
        private String password = "";
        private Connection conn = null;
        private Statement stmt = null;
        private ResultSet rs = null;
        public void setDriverName(String newDriverName) {
            driverName = newDriverName;
        }
        public String getDriverName() {
            return driverName;
        }

        public void setUrl(String newUrl) {
            url = newUrl;
        }
        public String getUrl() {
            return url;
        }
        public void setUser(String newUser) {
            user = newUser;
        }
        public String getUser() {
            return user;
        }
        public void setPassword(String newPassword) {
            password = newPassword;
        }
        public String getPassword() {
            return password;
        }    public ResultSet executeQuery(String sql) {
    rs = null;
    stmt = null;
            try {
                Class.forName(driverName).newInstance();
         conn = DriverManager.getConnection(url, user, password);
                stmt = conn.createStatement();
         rs = stmt.executeQuery(sql);
    //      stmt.close();
         conn.close();
         return rs;
            }
            catch (Exception e) {
                e.printStackTrace();
                return null;
            }


        }    public void executeUpdate(String sql) {
    rs = null;
    stmt = null;
            try {
                Class.forName(driverName).newInstance();
         conn = DriverManager.getConnection(url, user, password);
                stmt = conn.createStatement();
         stmt.executeUpdate(sql);
         stmt.close();
         conn.close();
            }
            catch (Exception e) {
                e.printStackTrace();
            }

        }
    }
      

  4.   

    String sql="select * from login where id='"+us+"' and password='"+ps+"';";
                                                                           ^^是不是这个问题!!
      

  5.   

    你的sql语句有问题的,不应该有那个;号的。再者你的rs怎么能够用equals来判断呢?
      

  6.   

    可是我都改了;rs我用rs.next()判断了,也不行啊!