Java:通过会话对象或URL参数显示表单提交成功消息?

Java:通过会话对象或URL参数显示表单提交成功消息?,java,jakarta-ee,spring-mvc,Java,Jakarta Ee,Spring Mvc,我正在用Spring框架做一个JavaWeb项目 我知道有两种方式可以显示表单提交的成功信息 会话对象: 在java中: request.getSession().setAttribute("msg", "Success"); return "redirect:/form/"?msg=Success"; 在jsp中: <c:if test="${not empty sessionScope.msg}"> ${sessionScope.msg} <% ses

我正在用Spring框架做一个JavaWeb项目

我知道有两种方式可以显示表单提交的成功信息

  • 会话对象:
  • 在java中:

    request.getSession().setAttribute("msg", "Success");
    
    return "redirect:/form/"?msg=Success";
    
    在jsp中:

    <c:if test="${not empty sessionScope.msg}"> 
        ${sessionScope.msg}
        <% session.removeAttribute("msg"); %>
    </c:if>
    
    ${param.msg}
    
    在jsp中:

    <c:if test="${not empty sessionScope.msg}"> 
        ${sessionScope.msg}
        <% session.removeAttribute("msg"); %>
    </c:if>
    
    ${param.msg}
    
    我想知道,从一个大流量网站的系统设计角度来看,哪种方法应该是首选的,如果可能的话,为什么


    谢谢和问候

    springmvc有一个flash消息的概念,它是专门为跨重定向传输模型属性而设计的。要使用它们,请为处理程序方法声明一个参数

    public String handleForm(..., RedirectAttributes redirectAttributes) {
        redirectAttributes.addFlashAttribute("msg", "Success");
        return "redirect:/form";
    }
    

    重定向发生并删除后,
    “msg”
    属性将自动添加到模型中。

    如果您希望在整个应用程序中保持某些状态,则意味着您可以使用会话对象,否则URL参数足以承载状态。Surendar,您知道每种方法的任何影响吗?特别是在大型web应用程序中?在大型应用程序中应非常小心地处理会话,在会话中处理敏感内容是个好主意(例如登录Id)。非常感谢您的输入!!!