Java Restful Web服务登录凭据失败
所以我构建了一个JavaWeb服务来连接到我正在开发的移动android应用程序。我是Java和Android新手,我有点困难。我已经让android将登录详细信息发送到Restful Web服务,但是Restful Web服务在尝试验证为用户制作的DB表中的详细信息时失败。我知道这是check-credentials问题,因为当我注释掉check-credentials语句时,它将允许我登录。我不知道我在代码中的凭证验证语句中哪里出错了,如果有人能帮助我,那就太好了。下面是我的Restful服务的Login.class。我也在运行tomcat7的所有功能Java Restful Web服务登录凭据失败,java,web-services,restful-authentication,Java,Web Services,Restful Authentication,所以我构建了一个JavaWeb服务来连接到我正在开发的移动android应用程序。我是Java和Android新手,我有点困难。我已经让android将登录详细信息发送到Restful Web服务,但是Restful Web服务在尝试验证为用户制作的DB表中的详细信息时失败。我知道这是check-credentials问题,因为当我注释掉check-credentials语句时,它将允许我登录。我不知道我在代码中的凭证验证语句中哪里出错了,如果有人能帮助我,那就太好了。下面是我的Restful服
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中抛出的任何异常,就像普通的未签出案例一样 您真的想默默地忽略任何系统故障,并像处理有效的业务案例一样处理它吗 我并不是说这在任何情况下都是错误的,而是要明确地做出设计决策,并且至少在异常上记录一些信息,这样您就可以看到出了问题 更好的是,将catch子句限制为您真正希望抛出的异常。即使如此,也要记录异常信息 使用诸如DBConnection.checkLogin之类的静态方法表明存在更多的设计问题。它可能会起作用,在某些情况下会很方便,但从长远来看,它会咬你一口
因此,要找到您的直接问题:在catch子句中打印异常的堆栈跟踪。还可以在调用之后立即记录checkLogin调用的结果,该结果仍在try块中。如果打印了这些信息,则不会引发异常,您的问题在于checkLogin。所以我对java编程非常陌生。我该如何记录和显示导致异常的信息呢;在抓块里就行了。对于永久日志记录,有几个日志记录框架。除了内置的Java.util.logging之外,最流行的还有Log4J、SLF4J和apachecommons日志。