学生、教師、および会社のユーザー名とパスワードを含むスーパークラスのユーザーに問題があります。
すべて正常に動作しますが、特定のユーザー名とパスワードの組み合わせでログインすると、データが失われます。学生/教師/会社からのデータはまだありますが、ユーザー データはありません。
User.java (オランダ語で gebruiker、これはスーパークラスです):
public class Gebruiker {
private String gebruikersnaam, wachtwoord;
public Gebruiker(String gn, String ww) {
gebruikersnaam = gn; //username
wachtwoord = ww; //password
}
public Gebruiker() {
//Default constructor
}
//Getters and setters...
}
}
Student.java (オランダ語で leerling):
public class Leerling extends Gebruiker implements Serializable {
private static final long serialVersionUID = -3586223028920551117L;
private String naam, email, leerlingnr;
public Leerling(String gn, String ww, String nm, String em, String ln) {
super(gn, ww);
naam = nm;
email = em;
leerlingnr = ln;
}
//Getters and setters...
}
この時点まで、コードは正常に動作します。次のようなユーザー名とパスワードで学生を作成できます。
Gebruiker g1 = (Gebruiker) new Leerling("username", "password", "name", "email", "nr");
アプリケーションにログインしてユーザーとのセッションを設定すると、問題が発生します。
req.getSession().setAttribute("gebruikerObject", g1);
ページを更新した瞬間。ユーザー オブジェクトのユーザー名とパスワードは null で、'name' 'email' と 'nr' は通常のままです。JSP ページに gebruikerObject を出力すると、更新ごとに異なる戻り値が返されます。
com.appspot.AccentNijkerk.model.Leerling@16ee9e2
com.appspot.AccentNijkerk.model.Leerling@1c6b2e3
com.appspot.AccentNijkerk.model.Leerling@1fa486
よろしくお願いします。
PS: Google App Engine を使用しており、セッションが有効になっています