PageContext抽象类

JSP API 提供了一个非常实用的类:javax.servlet.jsp.PageContext抽象类,它继承了javax.servlet.jsp.JspContext。Pagecontext类是JSP文件的得力助手,在JSP文件中使用PageContext类的场合主要包括:

①JSP文件中的Java程序片段。

②JSP文件中的自定义标签的处理类。

 PageContext 类中的方法可分为以下几种:

①用于向各种范围内存取属性的方法

②用于获得由Servlet容器提供的其他对象的引用的方法

③用于请求转发和包含的方法

1. 向各种范围内存取属性的方法

getAttribute(String name):
getAttribute(String name,int scope):
setAttribute(String name,Obejct value,int scope):
removeAttribute(String name,int scope):
findAttribute(String name):
int getAttributeScope(String name):
以上方法中的scope参数指定属性的范围,可选值为PageContext类的四个静态常量:

PageContext.PAGE_SCOPE:实际取值为1
PageContext.REQUEST_SCOPE:实际取值为2
PageContext.SESSION_SCOPE:实际取值为3
PageContext.APPLICATION_SCOPE:实际取值为4
PageContext对象由Servlet容器负责创建,JSP文件可以直接通过固定变量pageContext来引用隐含的PageContext对象。

以下代码向请求范围内存放了一个username属性:

<% pageContext.setAttribute("username","Tom",PageContext.REQUEST_SCOPE);%>
它与以下代码是等价的:

<% request.setAttribute("username","Tom");%>

2. 用于获得由Servlet容器提供的其他对象的引用的方法

PageContext类的以下方法用于获得由Servlet容器提供的ServletContext、HttpSession、ServletRequest和ServletResponse等对象。

getPage():返回与当前JSP对应的Servlet实例
getRequest():返回ServletRequest对象
getResponse():返回ServletResponse对象
getServletConfig():返回ServletConfig对象
getServletContext():返回ServletContext对象
getSession():返回HttpSession对象
getOut():返回一个用于输出响应正文的JspWriter对象
在JSP文件的Java程序片段中,可以直接通过application,request和response等固定变量来引用ServletContext、ServletRequest和ServletResponse等对象。而在自定义的JSP标签的处理类中,无法使用application、request和response等固定变量,此时就需要依靠PageContext类的相关方法来得到ServletContext、ServletRequest和ServletResponse等对象。


3. 用于请求转发和包含的方法

PageContext类的以下方法用于请求转发和包含:

forward(String url):转发
include(String url):包含
在JSP文件中可以用专门的JSP标记(如<jsp:forward>标记和<jsp:include>)来进行请求转发和包含操作,而在自定义的JSP标签的处理类中,无法使用JSP标记,此时就需要依靠PageContext类的相关方法来进行请求转发和包含操作。








  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值