我的大部分工作都在.net中进行,但是需要使用Java完成此项目。所以我对处理会话数据有疑问。在.net中,我只需要在类中执行HttpContext.Session.Current即可访问会话数据。但看起来像在Java中,我需要传递HttpSession对象,以便可以执行request.getSession()?有没有更好的方法来解决这个问题?谢谢!

最佳答案

您不需要传递它。只需通过HttpServletRequest#getSession()获取会话,并使用其setAttribute()方法将对象存储在会话中,并使用getAttribute()从会话中获取它们。

如果您认为需要将整个HttpSession对象传递给域对象,那么您做错了。您应该宁愿从会话中获取感兴趣的信息(通常具有Javabean的风格),然后将其传递给它,或者,如果设计涉及前端控制器,则仅传递HttpServletRequest实例。

10-08 12:50