【问题标题】:Why use requestDispatcher to pass request instead of just storing in session?为什么使用 requestDispatcher 来传递请求而不是仅仅存储在会话中?
【发布时间】:2015-03-22 14:04:29
【问题描述】:

和标题一样,我们使用 requestDispatcher forward() 方法来传递 requestScope 对象是否有原因?使用响应对象中的 sessionScope 和 sendRedirect() 方法不是也可以吗?

您能否提供一些示例,说明什么时候会比另一个更好?

【问题讨论】:

    标签: session servlets redirect send requestdispatcher


    【解决方案1】:
    • 使用 Servlet 调度机制,相同的请求会被许多服务组件(servlet、JSP 等)“处理”。

    • 通过重定向机制,您可以强制浏览器发出另一个请求。

    这完全取决于你必须达到的目标。

    在典型的 MVC 上下文中,Servlet 表示使用的控制器组件,例如,用于从持久层检索数据。 此数据是您的 JSP 用来将其呈现给用户的请求范围数据。 因此,当它不是会话范围的数据时,将其设为会话数据是没有意义的。

    【讨论】:

    • 是的,但是为什么要传递相同的请求而不是仅仅存储在会话中呢?
    猜你喜欢
    • 2018-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-09
    • 1970-01-01
    • 1970-01-01
    • 2013-02-14
    • 1970-01-01
    相关资源
    最近更新 更多