gpt4 book ai didi

java - FacesContext 内的请求处理

转载 作者:行者123 更新时间:2023-12-02 08:24:25 25 4
gpt4 key购买 nike

嗨,

这个问题来自之前的answered提问者 BalusC 。答案摘录如下:

This happens only if under the covers a forward by RequestDispatcher#forward() takes place. In a forward, the servletcontainer basically reuses the same HTTP request/response for a view (JSP/XHTML page). It does not force/instruct the webbrowser to send a brand new request.

这意味着每个新 View 都是使用前向渲染的。以下是我的问题:

  • 如果是上述情况,那么所有 View 都显示同一个请求?因为,我们总是在地址栏中看到相同的 URL。

  • 是否会为新请求保留上一个请求中的值?

  • 在这种情况下,如果每个请求都相同,那么是否就像存储在 session 中一样,时间很长。我对 JSF 的 View 处理有点困惑。想了解更多JSF内部工作流程。

  • 当我们使用<redirect/>时在faces-config.xml ,地址栏中的URL会改变吗?

最佳答案

If the above is the case, then all the views displayed with the same request?. Because, we are always seeing the same URL in the address bar.

如果它涉及 HTTP POST 请求并且 JSF bean 操作导航到不同的 View ,那么根据 saldo,您确实会在同一请求中拥有两个不同的 View 。一个用于初始 View ,用于收集/转换/验证必要的请求参数并更新模型值,另一个用于结果 View ,用于显示某些结果。

Is it that the values in the previous request is retained for the new request?

在转发中无法发出新请求。这是相同的请求。

In this case, if every request is same then is it like storing in the session, for long time. I am bit confused on the view handling by JSF. Want to understand more internal work flow of JSF.

事实绝对不是这样的。至于您的困惑,暂时将 JSF 放在一边并尝试使用普通的普通 JSP/Servlet(这就是 JSF 在幕后使用的内容)可能会有所帮助。我认为以下链接可能有助于获得有关基本 JSP/Servlet 如何工作以及 JSP/Servlet 之上的平均 MVC 框架如何工作的新见解:

When we use the <redirect/> in faces-config.xml, will the URL in address bar get changed?

是的。 HTTP 重定向发送 HTTP location: newpage.jsf header 反过来指示 web 浏览器在给定位置触发新的 HTTP GET 请求。这会反射(reflect)在浏览器地址栏中。您可能需要安装 HTTP 调试工具,例如 FirebugFiddler2跟踪 HTTP 流量。您将看到同一请求内发生转发,并且重定向伴随新请求。

关于java - FacesContext 内的请求处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4824840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com