java - 无法在java servlet中获取 session

标签 java google-app-engine session servlets

我是第一次使用 servlet,但我取得了很大进步。我的 servlet 运行良好。所以我决定放置一个身份验证机制,如果用户提供正确的密码和 ID,它会创建一个 session 。但是 session 对我来说是全新的。所以我不太理解逻辑,但我已经开始理解了。

正如我之前提到的,我的一个 servlet 专门用于登录。如果密码正确,则会创建一个 session (我不会在 session 中存储任何对象/数据)并通知客户端(remoteUser)密码已被接受并创建 session 。客户端所做的是访问同一应用程序中的任何其他 servlet。其他 servlet 获取 session 以检查它是否已创建且有效(未超时)。为此,在其他那些 servlet 中,我通过以下方式获得 session :

HttpSession session = req.getSession(false); //false because this is not the place to create a session. sessions should only be created in the login servlet.

但这会返回一个空值。所以我尝试过:

HttpSession session = req.getSession();

并检查了 session.isNew();我是一个新的 session 。所以我在登录 servlet 中创建的 session 不能用 req.getSession() 调用;在另一个 servlet 中。

PS:在登录servlet中创建session时:session.setMaxInactiveInterval(300);//5 分钟

非常感谢您的回复!

最佳答案

使用 Google App Engine 时,您必须专门启用 session 支持。参见 http://code.google.com/appengine/docs/java/config/appconfig.html#Enabling_Sessions .

关于java - 无法在java servlet中获取 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6874091/

相关文章:

c# - 使用静态变量来存储全局的、不断变化的信息是一种好习惯吗?

php - 尝试从 Google App Engine 连接到外部数据库服务器时出错

java - 如何按祖先删除整个子实体?

python - APP.YAML:在 app.yaml 中组合不同的 URL - 相同文件、静态文件服务和源代码访问

php - Joomla 1.5.25 JSession 设置在从 1.5.23 升级后关闭时不写入数据库

php - 注销后重定向到同一页面

node.js - 服务器重新启动时如何在 Node js 中保持持久 session ?

java - 当组更改时如何更改细节带颜色?

java - 404 访问 https URL 时出错 - Java,但使用 POSTMAN 或 SOAPUI 工作正常

java - 运行同时包含 Scala 代码的 Java 程序的最佳方式是什么?