我在 Servlet 中使用以下命令将用户 ID 存储在 Session 中:
HttpSession session = request.getSession();
session.setAttribute("user", user.getId());
现在,我想从另一个 Servlet 访问该用户 ID:
HttpSession session = request.getSession(false);
int userid = (int) session.getAttribute("user"); // This is not working
OR
User user = new User();
user.setId(session.getAttribute("user")); This ain't possible (Object != int)
问题:
- 我如何转换为 int 并将 id 发送到 DAO 以进行 SELECT 语句
原文由 a k 发布,翻译遵循 CC BY-SA 4.0 许可协议
即使您保存了一个
int
,该方法需要一个对象,所以您的int
Integer
由于自动装箱将变成 —。尝试将其转换回Integer
应该没问题:但是,如果该属性为空,您将在此处获得
NullPointerException
,因此最好始终使用Integer
:在此之后,您可以安全地检查
userid
是否为null
。编辑:为了回应您的评论,这就是我所说的“检查是否为空”的意思。