1
public class MyBean {

    private Connection con;

    Set combinations;
    public MyBean()
    {

        try
        {
            Class.forName("oracle.jdbc.OracleDriver");
            con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","tiger");
            con.setAutoCommit(true);

        }
        catch( ClassNotFoundException cfe )
        {
            cfe.printStackTrace();
        }
        catch( SQLException se )
        {
            se.printStackTrace();
        }

    }

      public boolean CustRegistration( String name,String username, String pwd, String  address, String city,String state,long phoneno)
     {
         try
          {
       PreparedStatement st = con.prepareStatement("insert into custreg values(?,?,?,?,?,?,?)");
                 st.setString(1,name);
             st.setString(2,username);
             st.setString(3,password );
             st.setString( 4,address);
             st.setString(5,city);
             st.setString(6,state);
             st.setLong(7 ,phoneno);
             int i = st.executeUpdate();

             if( i > 0 )
                 return true;

         }
         catch( SQLException sety )
         {
             sety.printStackTrace();
         }
         return false;       
     }
public boolean check_Customer( String username,String password )
{
    try
    {
    PreparedStatement st;   
    st = con.prepareStatement( "select * from custreg where username=? and password=?" );

        st.setString(1,username);

        st.setString(2,password );

        ResultSet rs = st.executeQuery();

        if( rs.next() )
        {
            st.close(); 
            return true;        
        }

        st.close();
    }
    catch( SQLException sert )
    {
        sert.printStackTrace();
    }

    return false;
}

////////////////////////////////////////////
いつでも試してみてくださいデータベースに接続するには、NULL POINTER EXCEPTION をスローします。スタック トレースは次のとおりです。

java.lang.NullPointerException
    Bean.MyBean.check_Customer(MyBean.java:35)// line 35 is prepared statement which uses connection             
 Servlets.LoginSubmit.doPost(LoginSubmit.java:63)//the code here is 
if( mybean.check_Customer( user,pass ) )

javax.servlet.http.HttpServlet.service(HttpServlet.java:647) javax.servlet.http.HttpServlet.service(HttpServlet.java:728) org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.ジャワ:393)

4

2 に答える 2

0

スタックトレースの check_Customer は実際には CustRegistration メソッドであると想定しています。その場合、con フィールドが設定されていない (null である) ことを意味します。

コンストラクターでは、例外をキャッチしてから、それらを出力するだけです。あなたはこれらの例外の1つを持っていると思います。クラスパスに oracle ドライバーが含まれていない可能性がありますか?

于 2013-03-10T18:35:45.297 に答える
0

接続を取得できないため、おそらくあなたのDB is DOWNsoは null です。con

于 2013-03-10T18:37:41.430 に答える