我正在使用JSP / Java,但对以下代码有疑问:
HttpSession httpSession = (HttpSession)pageContext.getSession();
SessionData sessionData = (SessionData)httpSession.getAttribute("data");
sessionData.setAccountId(account.getAccountId());
sessionData.setUsername(account.getUsername());
sessionData.setLoggedIn(true);
我是否需要致电
httpSession.setAttribute("data", sessionData);
,是否(仍然)要致电?据我了解,对象是通过引用传递的,但是我不知道细节,我宁愿在第一次尝试中就做得到。
问候。
最佳答案
我需要调用httpSession.setAttribute(“ data”,sessionData);吗?或不,
不,您不需要这样做。 sessionData
是存储在Session对象中的引用的副本。因此,使用此引用对对象所做的任何更改都将反映为Session中存储的引用。
据我了解,对象是通过引用传递的
不,Java中没有任何内容通过引用传递。一切都通过价值传递。在您的情况下,它是按值传递的引用。