有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

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

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


共 (2) 个答案

  1. # 1 楼答案

    由于您将有权访问控制器中的HttpServletRequest,因此只需调用^{}方法:

    HttpSession session = request.getSession(false);
    

    现在您可以访问会话,因此可以使用相关方法存储、检索和删除其中的数据:


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

    @RequestMapping...)
    public String processSubmit(..., HttpSession session, ...) {
        Object anAttribute = session.getAttribute("anAttribute");
    }
    
  2. # 2 楼答案

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