一尘不染

这是相同还是不同的pageContext Scope和JSP Page中的一些隐式对象?

jsp

这些东西相同或不同(如果不同),请给我原因,以及如何?

这些东西都在小书里。

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”);


阅读 361

收藏
2020-06-08

共1个答案

一尘不染

在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)会议范围

您在会话范围内输入的内容可用于同一用户会话上的所有请求。

通话pageContext.setAttribute("a", "b", PageContext.SESSION_SCOPE);与通话相同session.setAttribute("a", "b");

4)适用范围

您在应用程序范围内所做的操作可在应用程序上的所有请求中使用(即,所有用户共享)。这意味着生命周期基本上与应用程序运行时间相同。因此,您通常不希望使用此功能。

打电话pageContext.setAttribute("a", "b", PageContext.APPLICATION_SCOPE);等于打电话application.setAttribute("a", "b");

2020-06-08