空指针,一般错误是你的conn,数据库连接类有问题
2就是你ps.setString(1,name); 
ps.setString(2,password); 
断点看看到底set进去没有

解决方案 »

  1.   

    空指针,一般这种错误你首先可以看看你的数据库连接类写正确没有
    2.    ps.setString(1,name); 
          ps.setString(2,password); 断点查看到底set进去没有
      

  2.   

     DBPool.getConnection()返回的是null,你把这个DBPool类贴出来
      

  3.   

    DBPool.java
    package struts;/* 数据访问组件 */import java.io.*;
    import java.util.*;
    import java.sql.*;public class DBPool{
        private static DBPool instance = null;    //取得连接
        public static synchronized Connection getConnection() {
            if (instance == null){
                instance = new DBPool();
            }
            return instance._getConnection();
        }    private DBPool(){
            super();
        }    private  Connection _getConnection(){
            try{
                String sDBDriver  = null;
                String sConnection   = null;
                String sUser = null;
                String sPassword = null;            Properties p = new Properties();
       InputStream is = getClass().getResourceAsStream("/db.properties");
                p.load(is);
                sDBDriver = p.getProperty("DBDriver",sDBDriver);
                sConnection = p.getProperty("Connection",sConnection);
                sUser = p.getProperty("User","");
                sPassword = p.getProperty("Password","");            Properties pr = new Properties();
                pr.put("user",sUser);
                pr.put("password",sPassword);
                pr.put("characterEncoding", "GB2312");
                pr.put("useUnicode", "TRUE");            Class.forName(sDBDriver).newInstance();
                return DriverManager.getConnection(sConnection,pr);
            }
            catch(Exception se){
                System.out.println(se);
                return null;
            }
        }    //释放资源
        public static void dbClose(Connection conn,PreparedStatement ps,ResultSet rs)
        throws SQLException
        {
              rs.close();
              ps.close();
              conn.close();
          }
        }
      

  4.   

    System.out.println(se); 这个地输出是什么?最好换为se.printStackTrace();看看
      

  5.   

    你的程序是DBPool._getConnection()中报的错。如果你用eclispe的话,可以是用f5进行单步调试。