如何将信息存储在spring mvc中的会话内存中以便以后获取?

时间:2013-03-27 02:03:10

标签: java spring spring-mvc

我有一个独特的情况,我想通过POST将一个整数数组存储到内存中。我想稍后想用GET请求获取这些数据。

这看起来很奇怪,很奇怪,但我确实有一个用例,它只会在内存中停留几秒钟。

一个简单的例子 - 存储数组someArray = [1,2,3];在某种内存存储器中使用POST,并在另一个函数中通过GET检索它。

2 个答案:

答案 0 :(得分:2)

由于您可以在控制器中访问HttpServletRequest,因此您只需调用getSession方法:

HttpSession session = request.getSession(false);

现在您可以访问Session,因此您可以使用相关方法存储,检索和删除数据:


如评论中所述,您还可以省略手动获取会话,并将其作为参数从@Controller发送到您的方法。取自this answer

@RequestMapping...)
public String processSubmit(..., HttpSession session, ...) {
    Object anAttribute = session.getAttribute("anAttribute");
}

答案 1 :(得分:-1)

我曾经有过这样的要求,首先将主要数据发布到控制器,然后将一些详细数据发布到控制器,并将这些数据与来自数据库的2种数据和检索数据相结合。我只是将主要数据存储在session.setAttribute()的会话中,Spring mvc有一个@SessionAttribute,但经过几十次尝试后,我放弃了,使用起来非常困难。