Java HttpSession.getAttribute(字符串名称)

Java HttpSession.getAttribute(字符串名称),java,jakarta-ee,httpsession,getattribute,Java,Jakarta Ee,Httpsession,Getattribute,我有一个简单、简短的问题,但到处都找不到答案。我创建了一个HttpSession,并希望从中获取一个属性,例如用户对象 HttpSession session = request.getSession(true); Object userObject = session.getAttribute("name"); if ((userObject != null) && (userObject instanceof User)) { User currentUser = (

我有一个简单、简短的问题,但到处都找不到答案。我创建了一个HttpSession,并希望从中获取一个属性,例如用户对象

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函数获取字符串名称作为参数-名称是什么

如果要从会话中获取属性,需要先将它们设置为会话,然后再执行类似操作:

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

谢谢,我想我明白了。如果我是对的,例如,如果我想在会话中获得一个带有getAttribute的用户对象,我必须创建一个登录方法,在这里我为用户设置属性,是吗?没错。首先创建对象并添加它,然后您可以稍后检索它。谢谢您,它帮了我很多忙!