我的项目上的wicket (Java-sqlite -Netbeans IDE)登录错误



我正在wicket (Java-SQLite-NetBeans IDE)上做一个项目。我无法运行登录功能。

当我按下登录按钮时,它给出了下面的错误:

. lang。ClassCastException: org.apache.wicket.protocol.http.WebSession不能被强制转换为itucs.blg361.g03.Users.UserSessionitucs.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;
    }
}

把我的评论放在答案中,这样问题就可以结束了:

您需要重写Application.newSession()成员来返回您自己的Session实现。

希望对你有帮助。

PS:看你的其他问题,我注意到你有一些回答别人,但你不接受这些答案。标记这些问题的答案会增加你得到答案的变化。

最新更新