Ошибка входа в калитку (Java-sqlite -Netbeans IDE) в моем проекте - PullRequest
1 голос
/ 03 декабря 2011

Я делаю проект на калитке (Java-SQLite-NetBeans IDE).Я не могу запустить функцию входа в систему.

Когда я нажимаю кнопку входа в систему, появляется следующее сообщение:

java.lang.ClassCastException: org.apache.wicket.protocol.httpНевозможно привести .WebSession к itucs.blg361.g03.Users.UserSession по адресу itucs.blg361.g03.HeaderPanel $ LoginForm.onSubmit ( HeaderPanel.java: 263 )

public static final class LoginForm extends Form {        
...

261 @Override

262 public final void onSubmit() {

263 **UserSession session = (UserSession) getSession();**

...}

ПРИМЕЧАНИЕ. Как я понимаю, сеанс не может быть создан.Почему это может быть?Пожалуйста, помогите:)

public class UserSession extends WebSession {

 private String userName;
    private int userGroup;
    private User user;



protected UserSession(Request request) {
        super(request);
         //user = new User();
         //userName = user.getName();
         //userGroup = user.getGroup_id();
    }

    public final  boolean LogIn( String username, String password) {
        if (userName == null) {
            Application app = (Application) this.getApplication();
            UserCollection usrCollection = app.getUserCollection();
            if (usrCollection.UserEntry(username,password)) {
                this.user = usrCollection.getUser(username);
                this.userName=user.getName();
                this.userGroup=user.getGroup_id();
            }
        }

        return userName != null;
    }

    public User getUser() {
        return user;
    }
    public void setUser(User user) {
        this.user = user;
       this.userName =user.getName();
        this.userGroup=user.getGroup_id();
    }

    public String getUserName(){
        return userName;
    }

    public int getuserGroup() {
        return userGroup;
    }

    public boolean isSignedIn() {
        return userName != null;
    }

    public void SignOut(){
       userName = null;
        user=null;
        userGroup=0;
    }
}

1 Ответ

2 голосов
/ 07 декабря 2011

Помещаю свой комментарий в ответ, чтобы вопрос можно было закрыть:

Вам необходимо переопределить член Application.newSession () , чтобы возвратить собственную реализацию сеанса.

Надеюсь, это поможет.

PS: Просматривая ваши другие вопросы, я заметил, что на некоторые из вас есть ответы от других, но вы не приняли эти ответы. Пометка их ответов увеличит изменения, на которые вы получите ответы на другие вопросы.

...