0

学生、教師、および会社のユーザー名とパスワードを含むスーパークラスのユーザーに問題があります。

すべて正常に動作しますが、特定のユーザー名とパスワードの組み合わせでログインすると、データが失われます。学生/教師/会社からのデータはまだありますが、ユーザー データはありません。

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 を使用しており、セッションが有効になっています

4

1 に答える 1