对不起我的写作错误,英语不是我的母语。
我对自己的应用程序有疑问。如果有人建议解决此问题,将不胜感激。
我的应用程序建立在spring-framework 4.0(mybatis 3.4.6,mybatis-spring 1.3.2)上
情况就像,有一个名为'User'的对象,它有一个名为'password'的私有字段变量,带有getter,setter。
User.java
class User {
private String id;
private String password;
public void getPassword() {
return password;
}
public void setId(String id) {
this.id = id;
}
public void getId() {
return id;
}
public void setPassword(String password) {
this.password = password;
}
}
我也有'User'表,以及它的指定(与User对象配对)
用户表(MariaDB 5)
如您所见,该表具有用户信息,通常用于处理登录。当我的应用程序调用此语句“从id = $ {id}的用户中选择*”时,它将返回User对象。大部分时间它没有问题,但是今天我无法登录到我的应用服务器时间。所以我寻找了错误消息,并说NPE发生在Hex.decodeHex(dbPassword)
INFO | jvm 1 | 2019/12/18 15:15:55 | java.lang.NullPointerException: null
INFO | jvm 1 | 2019/12/18 15:15:55 | at org.apache.commons.codec.binary.Hex.decodeHex(Hex.java:80)
INFO | jvm 1 | 2019/12/18 15:15:55 | at com.myapp.webapps.main.Encryptor.equals(Encryptor.java:53)
INFO | jvm 1 | 2019/12/18 15:15:55 | at com.myapp.webapps.main.Login.login(Login.java:248)
代码摘要
问题是从User对象检索的password参数为null,因此无法调用toCharArray方法。是否有可能使用null以便返回正确?如果db是问题,则不会去检查密码是否有效。我现在可以再次登录,但是仍然对发生的事情感到困惑。
任何线索都对我有好处,因为我不知道从哪里开始弄清楚这一点。请让我知道任何事情..
非常感谢。
对不起我的写作错误,英语不是我的母语。我自己的应用程序有问题。如果有人建议解决此问题,将不胜感激。我的应用程序是...
我的英语不太好,我想说的是可以看看映射器中的代码吗?