gpt4 book ai didi

java - GAE CloudEndpoints Java session

转载 作者:行者123 更新时间:2023-12-01 11:46:42 25 4
gpt4 key购买 nike

我有一个 GAE CloudEndpoints 项目,但在使用 Java session 来维护 session 状态时遇到问题。这是我到目前为止所做的:

首先,我在 appengine-web.xml 文件中启用了 session 。

然后我创建了一个“登录对象”来保存用户邮箱和密码。我还使其可序列化(因为我读到这是一个要求?)

@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class Session implements Serializable{

private static final long serialVersionUID = 4013168535563327001L;
@Persistent
String email;
@Persistent
String password;

public String getemail() {
return email;
}

public void setemail(String email) {
this.email = email;
}

public String getpassword() {
return password;
}

public void setpassword(String password) {
this.password = password;
}
}

然后我创建了一个 Controller 来创建 session 并将登录对象存储为其中的属性:

@ApiMethod(name="setLoginTest")
public Object setloginTest(HttpServletRequest request, User myLogin){

//Just setting some values into myLogin
//for production, this will compare submitted values against a DB.
myLogin.email = "Jason";
myLogin.password = "123";

//Creating the session object
HttpSession mySession = request.getSession(true);

//Trying to set an attribute that holds the login object
//(i.e. i want to store the username in the session)
mySession.setAttribute("loginObj", myLogin);

return myLogin;
}

如果我调用此端点,系统会毫无问题地返回 myLogin 对象,并且我知道 mylogin 对象的用户名“jason”和密码“123”

所以,最后一步是我创建端点来检查 session 是否有一些用户数据或空。理想情况下,如果登录,我会采取一些操作,如果未登录,则返回“未登录”消息。

@ApiMethod(name="getSessionTest")
public Object getSessionTest(HttpServletRequest request, User myLogin){

//getting the current session info
HttpSession mySession = request.getSession(false);

//Always returns NULL which is not right!!
return mySession.getAttribute("loginObj");
}

但是,问题是“Getsessiontest”端点总是返回 null。请帮忙!

最佳答案

如果您正在运行 Cloud Endpoints,为什么还需要服务器端的 session ?您可以在客户端存储“ session ”信息。如果您从 Javascript 客户端使用端点,则可以使用 localstorage 来充当 session cookie。

关于java - GAE CloudEndpoints Java session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29085724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com