gpt4 book ai didi

java - 这是相同还是不同的 pageContext 范围和 JSP 页面中的一些隐式对象?

转载 作者:搜寻专家 更新时间:2023-10-30 21:39:57 24 4
gpt4 key购买 nike

这些东西是相同的还是不同的,如果不同请给我原因和方法?

这些东西都在 scriplet 中..

1) pageContext.setAttribute("first","value1",pageContext.REQUEST_SCOPE);

request.setAttribute("first","value1");

2)pageContext.setAttribute("first","value1",pageContext.SESSION_SCOPE);

session.setAttribute("first","value1");

3)pageContext.setAttribute("first","value1",pageContext.APPLICATION_SCOPE);

application.setAttribute("first","value1");

最佳答案

在 JSP 页面中,您最多有“4 个位置”可以放置对象以便稍后检索它们。

1) 页面作用域

您放入页面范围的任何内容都只能在那里使用。通过或转发的同一请求中的任何其他页面都不会看到该对象,因为它们定义了自己的页面范围,该范围不包含调用页面的页面范围。

这是默认范围,因此调用 pageContext.setAttribute("a", "b", PageContext.PAGE_SCOPE); 与调用 pageContext.setAttribute("a", "b");

2)请求范围

您放置在请求范围内的内容在为该 JSP 页面提供服务的请求的所有页面中都可用。因此包含或转发的其他页面(不是 HTTP 重定向)将共享此上下文并可以访问在调用页面上下文中声明的属性。

调用 pageContext.setAttribute("a", "b", PageContext.REQUEST_SCOPE); 等同于调用 request.setAttribute("a", "b");

3) session 范围

您放置在 session 范围内的内容可用于同一用户 session 中的所有请求。

调用 pageContext.setAttribute("a", "b", PageContext.SESSION_SCOPE); 与调用 session.setAttribute("a", "b");

4)应用范围

您放置在应用程序范围内的内容在应用程序的所有请求中都可用(即由所有用户共享)。这意味着生命周期基本上与应用程序运行时一样长。所以你通常不想使用这个。

调用pageContext.setAttribute("a", "b", PageContext.APPLICATION_SCOPE);等同于调用application.setAttribute("a", "b");

关于java - 这是相同还是不同的 pageContext 范围和 JSP 页面中的一些隐式对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19076979/

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