java pagecontext_4.8 pageContext对象(1)

4.8  pageContext对象(1)

pageContext对象是JSP中很重要的一个内置对象,不过在一般的JSP程序中,很少用到它,所以知道request对象、response对象的人比较多,知道pageContext对象的人就比较少了。它是javax.servlet.jsp.PageContext类的实例对象,可以使用PageContext类的方法。实际上,pageContext对象提供了对JSP页面所有的对象及命名空间的访问,正如前面所介绍的一样,使用pageContext对象可以访问application对象、exception对象,还有session对象等。pageContext对象的方法可以访问除本身以外的8个JSP内部对象,还可以直接访问绑定在application对象、page对象、request对象、session对象上的Java对象。pageContext对象相当于JSP程序中所有对象功能的集成者。不过,这里存在着一个问题,既然可以直接访问JSP内部对象,为什么还要多此一举,通过pageContext对象来访问它们呢?这也正是pageContext对象应用较少的原因。话虽这样说,pageContext对象总是JSP中9个内置对象不可或缺的一部分,读者还是需要掌握它的用法的。

在JSP程序中,我们可以使用pageContext来代表pageContext对象:

pageContext.Method();

%>

pageContext对象的主要用法如下。

1)getOut()

该方法返回一个JspWriter类的实例对象,也就是JSP内置对象--out对象,可以往客户端写入输入流。它的使用方法如下::

JspWriter myout=pageContext.getOut();

myout.println("myout write: hello world"+"
");

out.println("out write: hello world");

%>

2)getSession()

该方法的返回值是一个HttpSession接口的实例对象,即JSP内置对象--session对象,可以保存不同用户的信息。它的使用方法如下:

String username1="george";

String password1="george";

HttpSession mySession= pageContext. getSession();

mySession.putValue("username",username1);

mySession.putValue("password", password1);

%>

3)getPage()

该方法的返回值是一个java.lang.Object对象,也就是JSP内置对象--page对象。它的使用方法如下:

Object mypage=pageContext.getPage();

out.println(mypage.toString());

%>

4)getResponse()

该方法的返回对象是javax.servlet.ServletResponse,也就是JSP内置对象--response对象,主要用于控制HTTP连接。它的使用方法如下:

ServletResponse myresponse=pageContext.getResponse();

out.println(myresponse.getCharacterEncoding());

%>

5)getRequest()

该方法的返回对象是javax.servlet.ServletRequest,也就是JSP内置对象--request对象,主要用于获取客户端的信息。它的使用方法如下:

ServletRequest myrequest=pageContext.getRequest();

out.println(myrequest.getRemoteHost());

String username2="robin";

String password2="robin";myrequest.setAttribute("username",username2);

myrequest.setAttribute("password", password2);

%>

6)getException()

该方法的返回值是当前页的exception对象。它的使用方法如下:

Exception myexception=pageContext. getException();

out.println(myexception.getMessage());

%>

上面的代码片段***在错误处理程序中使用,也就是page编译指令的isErrorPage属性为true的页面中。

7)getServletConfig()

该方法可以返回当前的config对象,用于获取JSP/Servlet程序的初始参数。它的使用方法如下:

ServletConfig myconfig=pageContext.getServletConfig();

%>

8)getServletContext()

该方法的返回值是一个ServletConfig接口的实例对象,也就是JSP内置对象--application对象的副本。它的使用方法如下:

ServletContext myapplication=pageContext.getServletContext();

out.println(myapplication.getServerInfo());

String username3="java";

String password3="java";myapplication.setAttribute("username",username3);

myapplication.setAttribute("password", password3);

%>

9)setAttribute(String name, Object o, int scope)

pageContext对象的setAttribute()方法可以将参数或者Java对象绑定到application对象、session对象、request对象或者page对象上,这里的scope参数可以取以下的值。

pageContext.PAGE_SCOPE

pageContext.REQUEST_SCOPE

pageContext.SESSION_SCOPE

pageContext.APPLICATION_SCOPE

当scope参数的值为pageContext.SESSION_SCOPE时,调用PageContext对象的setAttribute()方法和调用session对象的putValue()方法是等效的,都是将某个参数或者Java对象和当前的session绑定起来。如果scope参数的值为如果scope参数的值为pageContext.APPLICATION_SCOPE,那么调用PageContext对象的setAttribute()方法和调用application对象的setAttribute()方法是等效的。如果scope参数是其他的值,原理也是一样的,我们就不多说了。它的使用方法如下:

pageContext.setAttribute("username","george",

pageContext.APPLICATION_SCOPE);

pageContext.setAttribute("username","robin",pageContext.

SESSION_SCOPE);

%>

【责任编辑:云霞 TEL:(010)68476606】

点赞 0

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值