簡體   English   中英

Java Restful Web服務登錄憑證失敗

[英]Java Restful Web Service Login Credential Failure

因此,我建立了一個Java Web服務來連接到我正在開發的移動android應用程序。 我是Java和Android的新手,但遇到了一些困難。 我已經將Android的登錄詳細信息發送到Restful Web Service,但是Restful Web Service在嘗試驗證為用戶創建的數據庫表中的詳細信息時會失敗。 我知道這是支票憑證問題,因為當我注釋掉支票憑證聲明時,它將讓我登錄。 我無法弄清楚我的代碼中的憑證驗證語句出了什么問題,有人可以幫忙,那會很棒。 我的Restful服務的Login.class在下面。 我也正在運行所有的tomcat7。

private boolean checkCredentials(String uname, String pwd){

        System.out.println("Inside checkCredentials");
        boolean result = false;
        if(Utitlity.isNotNull(uname) && Utitlity.isNotNull(pwd)){
            try {
                result = DBConnection.checkLogin(uname, pwd);
               // System.out.println("Inside checkCredentials try "+result);
            } catch (Exception e) {
                // TODO Auto-generated catch block
              //  System.out.println("Inside checkCredentials catch");
                result = false;
            }
        }else{
            System.out.println("Inside checkCredentials else");
            result = false;
        }

        return result;
    }

您的代碼有幾個問題。 主要的問題是,您可以將處理在checkLogin()拋出的所有異常作為常規的“未檢出”情況處理。

您是否真的想靜默地忽略任何系統故障,並像有效的業務案例一樣處理它?

我並不是說這在每種情況下都是錯誤的,而是要做出明確的設計決策,並且至少記錄一些有關異常的信息,以便您可以看到錯誤之處。

更好的是,將限制條款限制為您真正希望引發的異常。 (即使那樣,也請記錄有關異常的信息!)

諸如DBConnection.checkLogin()類的靜態方法的使用表明了更多的設計問題。 它可能會起作用,並且在某些情況下會很方便,但是從長遠來看,它會咬住您。

因此,要查找您的緊迫問題:在catch子句中打印Exception的堆棧跟蹤。 還要在調用之后立即在try塊中記錄checkLogin()調用的結果。 如果打印了該信息,則不會引發Exception,並且您的問題出在checkLogin()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM