Java HttpSession .getAttribute(字符串名称)

Java HttpSession .getAttribute(String name)

我有一个简单而简短的问题,但在任何地方都找不到答案。我创建了一个 HttpSession 并想从中获取一个属性,例如一个 User 对象。

HttpSession session = request.getSession(true);
Object userObject = session.getAttribute("name");
if ((userObject != null) && (userObject instanceof User)) {
    User currentUser = (User) userObject;
    ...
}

问题如下:.getAttribute 函数获取字符串名称作为参数 - 名称是什么?我从哪里知道这个名字?它是在某处预定义的吗? - 那么在哪里定义另一个?

谢谢!

通常,您自己向会话添加属性,如下所示:

User someObject = new User();
session.setAttribute("pickaName", someObject);

然后您可以获取会话并使用您之前使用的相同名称来取消此属性,如下所示:

User sameObject = (User) session.getAttribute("pickaName");

.getAttribute function gets a String name as parameter - what is the name?

如果想从Session中获取属性,需要先给Session设置如下:

User aux = new User();
HttpSession session = new HttpSession();
session.setAttribute("myUserObject", aux);
User user = (User) session.getAttribute("myUserObject");