对象是已登录的用户,其中包含一些与他相关的对象。我想把数据库的流量控制在最低限度。我需要一个合适的解决方案。我使用jsp代码而不使用scriptlet,使用servlet并通过jpa获取对象。我希望你明白我的意思。

最佳答案

您可以通过setAttribute(...)方法将对象存储到HttpSession并通过getAttribute(...)检索它。
所以您的代码(在一个servlet中)看起来应该是这样的:

final String CURRENT_USER_KEY = "CURRENT_USER";

EntityManager em; // somewhere initialized
Integer userid; //  somewhere initialized

HttpSession session =  httpServletRequest.getSession();
User user = session.getAttribute(CURRENT_USER_KEY);

if(user == null){
  User user = em.find(User.class, userId);
  session.setAttribute(CURRENT_USER_KEY, user);
}

// perform further actions on your user

07-27 18:29