项目上线,用户注册时验证码一直报错误,数据库也没问题,代码貌似也没问题。
后面排查到最后,发现是一个子类覆盖父属性问题。
JAVA代码中,子类覆盖父类的私有、保护属性,如果不设置get、set方法,拿到的数据是父类的私有属性数据。
父类:
public class BaseAction extends ActionSupport { protected String verificationCode; // 验证码 public String getVerificationCode() {
return verificationCode;
} public void setVerificationCode(String verificationCode) {
this.verificationCode = verificationCode;
}
}
子类:
public class UserAction extends ActionSupport { protected String verificationCode; // 验证码 }
这是一个梗一个梗一个梗,,,