我认为谷歌应用引擎不支持会话(上次我检查的是几个月前)。现在我再次寻找它并看到了这个:
http://code.google.com/appengine/docs/java/config/appconfig.html#Enabling_Sessions
表示支持:
javax.servlet.http.HttpSession
这是否意味着我们现在有servlet会话支持?如果是这样,有没有人有这个使用它的例子?我想创建自己的User类并支持用户登录和会话管理(我知道app引擎已经为谷歌用户提供支持,但是我希望自己的用户满足各种需求)
谢谢!
------------更新---------------------------------- ---------
我把它放在我的GreetingServiceImpl中,只是为了试一试:
public void login(String username, String password) {
HttpSession session = getThreadLocalRequest().getSession(false);
session.setAttribute("username", username);
}
然后我在浏览器刷新页面后,试图查看是否可以在登陆jsp页面中发现会话:
<body>
<%
String username = null;
HttpSession mysession = request.getSession(false);
if (mysession.getAttribute("username") != null) {
username = (String)mysession.getAttribute("username");
}
%>
但似乎jsp页面无法解决用户登录的事实。我希望能够在用户刷新时找出用户登录到目标网页,如果可能的话。
由于
------------ Update 2 --------------------------------- ----------
有效,
由于
答案 0 :(得分:2)
会话支持是GAEJ开箱即用的一项功能。
您可以编写将用户存储在会话中的登录servlet:
HttpSession session = request.getSession();
if(ProvidedUserParametersAreOK){
session.setAttribute("user", "name");
然后,在您的调度程序servlet中编写这样的控件:
HttpSession session = request.getSession(false);
if (session.getAttribute("user") != null){
User user=(User)session.getAttribute("user");
//user logged in