Java pageContext.getSession().setAttribute()和pageContext.setAttribute()之间的真正区别

Java pageContext.getSession().setAttribute()和pageContext.setAttribute()之间的真正区别,java,jsp,Java,Jsp,我一直热衷于在我的一个jsp页面上重置一些验证错误。这是一个从我再也联系不到的人那里继承下来的项目(死亡或不可用)。我有一个jsp页面,其中有许多自定义标记库,进一步的页面被添加为选项卡,父页面有操作按钮来打开表单之类的东西。“选项卡”部分和父页面中都存在验证错误,并且正在设置/修改某些配置参数。但有趣的是,我可以看到大量使用pageContext.setAttribute()、session.setAttribute()和pageContext.getSession().setAttribut

我一直热衷于在我的一个jsp页面上重置一些验证错误。这是一个从我再也联系不到的人那里继承下来的项目(死亡或不可用)。我有一个jsp页面,其中有许多自定义标记库,进一步的页面被添加为选项卡,父页面有操作按钮来打开表单之类的东西。“选项卡”部分和父页面中都存在验证错误,并且正在设置/修改某些配置参数。但有趣的是,我可以看到大量使用
pageContext.setAttribute()
session.setAttribute()
pageContext.getSession().setAttribute()
。如果我最初的知识是正确的,
pageContext
在基于servlet的实现中被大量使用。但是,如果我在JSp页面上使用以下三种设置属性,情况会有多大不同呢

**示例场景(我的问题):**

我在父页面中设置了一些属性,这些属性也在选项卡页面(嵌入父页面)中设置/修改。我希望删除它们,以便在出现验证错误时,只需删除选项卡页面中的内容,即下次页面将从父页面加载这些属性。我是否在选项卡页面中使用
pageContext.setAttribute()
,而在父页面中使用
pageContext.getSession().setAttribute()


KR,

页面范围

当我们放入
JSP
页面时,作用域仅对放入它的
JSP
页面可用。 这是默认范围,因此与调用
pageContext.setAttribute(“,”,pageContext.PAGE\u范围)相同
pageContext.setAttribute(“,”)相同

会话范围
session.setAttribute()
pageContext.getSession().setAttribute()
都是相同的。 您在会话作用域上放置的内容可在同一用户会话上的所有请求中使用。
与调用
pageContext.setAttribute(“,”,pageContext.SESSION\u范围)相同与会话.setAttribute(“,”)相同

第一个设置页面属性,另两个等效并设置会话属性。