如果由于某些其他原因重置会话,如何将请求参数设置为在会话中可用

时间:2012-04-16 22:22:51

标签: java session servlets

String reqParam=request.getParameter("param");

    if(reqParam!=null){
          HttpSession session=request.getSession(false);
          if(session!=null){
            session.setAttribute("reqParamInSession", reqParam);
          }
    }

我使用上面的代码在调用doFilter方法时将请求参数值设置为会话。但是当用户导航到不同的体验时(假设管理商店的三个不同分支的用户将具有针对每个分支的单独体验),除了用户简档之外,会话被清除。当用户体验发生变化时,我不管理重置会话的模块。但是我仍然需要我在会话中设置的参数,即使用户已经改变了经验。

有没有办法将参数关联到发送的会话的每个请求?或者其他任何方式来处理这个问题?

1 个答案:

答案 0 :(得分:1)

不要'使用应用程序范围,就好像会话因任何原因而关闭,不会清除参数。如果可以,请使用cookies。