pageContext对象

这个对象代表页面上下文,该对象主要用于访问JSP之间的共享数据。使用pageContext可以访问page、request、session、application范围的变量。

pageContext是PageContext类的实例,它提供了如下两个方法来访问page、request、session、application范围的变量。

getAttribute(String name):取得page范围内的name属性。

getAttribute(String name,int scope):取得指定范围内的name属性,其中scope可以是如下4个值:

PageContext.PAGE_SCOPE:对应于page范围。

PageContext.REQUEST_SCOPE:对应于request范围。

PageContext.SESSION_SCOPE:对应于session范围。

PageContext.APPLICATION_SCOPE:对应于application范围。

与getAttribute()方法相对应,PageContext也提供了2个对应的setAttribute()方法,用于将指定变量放入page、request、session、application范围内。

下面的JSP页面示范了使用pageContext来操作page、request、session、application范围内的变量。

程序清单:codes\02\2.9\jspObject\pageContextTest.jsp

<!--r>//使用pageContext设置属性,该属性默认在page范围内
pageContext.setAttribute("page","hello");
//使用request设置属性,该属性默认在request范围内
request.setAttribute("request","hello");
//使用pageContext将属性设置在request范围中
pageContext.setAttribute("request2","hello" 
, pageContext.REQUEST_SCOPE);
//使用session将属性设置在session范围中
session.setAttribute("session","hello");
//使用pageContext将属性设置在session范围中
pageContext.setAttribute("session2","hello" 
, pageContext.SESSION_SCOPE);
//使用application将属性设置在application范围中
application.setAttribute("app","hello");
//使用pageContext将属性设置在application范围中
pageContext.setAttribute("app2","hello" 
, pageContext.APPLICATION_SCOPE);
//下面获取各属性所在的范围:
out.println("page变量所在范围:" + 
pageContext.getAttributesScope("page") + "
");
out.println("request变量所在范围:" +
pageContext.getAttributesScope("request") + "
");
out.println("request2变量所在范围:"+
pageContext.getAttributesScope("request2") + "
");
out.println("session变量所在范围:" +
pageContext.getAttributesScope("session") + "
");
out.println("session2变量所在范围:" +
pageContext.getAttributesScope("session2") + "
");
out.println("app变量所在范围:" +
pageContext.getAttributesScope("app") + "
");
out.println("app2变量所在范围:" + 
pageContext.getAttributesScope("app2") + "
");
<%@ page contentType="text/html; charset=gb2312" language="java" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>pageContext测试</TITLE>
</HEAD>
<BODY>
<%
//使用pageContext设置属性,该属性默认在page范围内
pageContext.setAttribute("page","hello");
//使用request设置属性,该属性默认在request范围内
request.setAttribute("request","hello");
//使用pageContext将属性设置在request范围中
pageContext.setAttribute("request2","hello" 
, pageContext.REQUEST_SCOPE);
//使用session将属性设置在session范围中
session.setAttribute("session","hello");
//使用pageContext将属性设置在session范围中
pageContext.setAttribute("session2","hello" 
, pageContext.SESSION_SCOPE);
//使用application将属性设置在application范围中
application.setAttribute("app","hello");
//使用pageContext将属性设置在application范围中
pageContext.setAttribute("app2","hello" 
, pageContext.APPLICATION_SCOPE);
//下面获取各属性所在的范围:
out.println("page变量所在范围:" + 
pageContext.getAttributesScope("page") + "<br>");
out.println("request变量所在范围:" +
pageContext.getAttributesScope("request") + "<br>");
out.println("request2变量所在范围:"+
pageContext.getAttributesScope("request2") + "<br>");
out.println("session变量所在范围:" +
pageContext.getAttributesScope("session") + "<br>");
out.println("session2变量所在范围:" +
pageContext.getAttributesScope("session2") + "<br>");
out.println("app变量所在范围:" +
pageContext.getAttributesScope("app") + "<br>");
out.println("app2变量所在范围:" + 
pageContext.getAttributesScope("app2") + "<br>");
%>
</BODY>
</HTML>

上面页面的粗体字代码使用pageContext将各变量分别放入page、request、session、application范围内,程序的斜体字代码还使用pageContext获取各变量所在的范围。

浏览上面页面。

 
图2.23  使用pageContext操作各范围属性的效果

使用pageContext获取各属性所在的范围,其中这些范围获取的都是整型变量,这些整型变量分别对应如下4个生存范围。

1:对应page生存范围。

2:对应request生存范围。

3:对应session生存范围。

4:对应application生存范围。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: PageContext对象JSP页面中的一个内置对象,它提供了访问JSP页面中的各种信息的方法。PageContext对象的作用包括: 1. 提供了访问请求、响应、会话和应用程序上下文等对象的方法,方便JSP页面中的代码访问这些对象。 2. 提供了访问JSP页面中的各种作用域(page、request、sessionapplication)的方法,方便JSP页面中的代码存取和共享数据。 3. 提供了访问JSP页面中的EL表达式的方法,方便JSP页面中的代码使用EL表达式。 4. 提供了访问JSP页面中的标签库的方法,方便JSP页面中的代码使用标签库。 总之,PageContext对象JSP页面中非常重要的一个内置对象,它提供了访问JSP页面中各种信息的方法,方便JSP页面中的代码编写和开发。 ### 回答2: PageContext对象JSP页面中的内置对象之一,它提供了许多有用的方法来访问JSP页面的相关信息。PageContext对象的主要作用有以下几个方面: 1. 访问请求和响应对象 PageContext对象通过getRequest()和getResponse()方法,提供了对HttpServletRequest和HttpServletResponse对象的访问,可以通过这些对象获取或设置请求和响应的头部信息、参数、属性,执行重定向等操作。 2. 访问会话对象 PageContext对象通过getSession()方法,提供了对HttpSession对象的访问,可以通过HttpSession对象来存储和获取当前会话的信息。 3. 访问ServletContext对象 PageContext对象通过getServletContext()方法,提供了对ServletContext对象的访问,可以通过ServletContext对象来获取应用程序的初始化参数、获取共享的属性,获取资源等。 4. 访问页面属性 PageContext对象通过getAttribute()、setAttribute()、removeAttribute()方法,提供了对页面属性的访问和操作。 5. 访问页面的其他内置对象 PageContext对象还提供了对其他内置对象的访问,包括:page、request、response、sessionapplication、out、config等。 6. 实现页面的转发和包含 PageContext对象提供了forward()、include()方法,实现了页面的转发和包含,可以在当前页面中实现页面跳转和数据共享。 综上所述,PageContext对象JSP页面中非常重要的一个内置对象,它提供了许多有用的方法和属性,方便我们对页面请求和响应进行处理、获取会话和应用程序的信息、管理各种页面上下文信息,以及实现页面的转发和包含等功能。 ### 回答3: PageContext对象JSP页面中十分重要的一个对象,它提供了与服务器、请求和应答有关的所有信息并允许用户访问各种范围的对象PageContext对象位于javax.servlet.jsp包中,在JSP页面上下文中,它是一个预定义的对象,可以直接使用。 PageContext对象的主要作用如下: 1.提供请求和应答对象:通过PageContext对象可以获得HttpServletRequest和HttpServletResponse对象,从而可以访问请求和应答对象的相关属性和方法。 2. 提供Session范围的信息:通过PageContext对象可以获取Session对象,从而可以访问Session范围的属性和方法。 3. 提供Application范围的信息:PageContext对象也提供了访问Application对象的方法,从而可以获取Application范围内的信息。 4. 提供页面级别范围的信息:PageContext对象提供了访问页面级别范围内各种对象的方法,如page、request、sessionapplication对象。 5. 提供访问JSP页面的相关信息:PageContext对象还提供了获取所在JSP页面的相关信息的方法,如获取JSP页面的路径、名称、Servlet上下文等信息。 总之,PageContext对象JSP页面中非常重要的一个对象,它提供了访问各种范围内的对象和属性的方法,能够辅助用户进行动态网页的开发工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值