- 浏览: 278952 次
- 性别:
- 来自: 苏州
文章分类
最新评论
-
tyyh08t1003:
< controller locale="tr ...
Session对象创建和控制 -
rightzheng:
right_zheng@yahoo.com.cn求代码
用HtmlParser 写个简单的 news爬虫 -
liujiaoshui:
而简单赋值运算和复合赋值运算的最大差别就在于:复合赋值运算符会 ...
简单赋值与复合赋值区别 -
yinchunjian:
<script>
function f1(){
...
javaScript闭包 -
明天的昨天:
zyh_1986 写道function f1(){ n=99 ...
javaScript闭包
pageContext对象
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”+”<br>”);
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参数可以取以下的值。
l pageContext.PAGE_SCOPE
l pageContext.REQUEST_SCOPE
l pageContext.SESSION_SCOPE
l 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);
%>
10)getAttribute(String name, int scope)
pageContext对象的getAttribute()方法也可以直接获取和application对象、page对象、session对象、request对象相互绑定的参数或者Java对象的值。这个方法的scope参数的意义和上面讲的一样。如果scope参数的值是pageContext.REQUEST_SCOPE,那么getAtttribute()方法就在当前的request对象内部查找有没有绑定一个名为name的Java对象,如果有,就返回这个对象,如果没有,返回null值。如果scope参数的值是pageContext.APPLICATION_SCOPE,那么getAtttribute()方法的作用范围将是application对象。它的使用方法如下:
<%
pageContext.getAttribute(“username”, pageContext.APPLICATION_SCOPE);
pageContext.getAttribute(“username”, pageContext.SESSION_SCOPE);
%>
11)removeAttribute(String name, int scope)
顾名思义,pageContext对象的removeAttribute()方法可以直接解除application对象、session对象、request对象、page对象和某个特定的参数或者Java对象的绑定关系。这个方法的scope参数指定了作用的范围,如果scope参数的值为pageContext.SESSION_SCOPE,那么removeAttribute()方法将会使某个参数或者Java对象和当前的session对象解除绑定关系,如果scope参数是其他值,原理也一样的。它的使用方法如下:
<%
pageContext.removeAttribute(“username”,
pageContext.APPLICATION_SCOPE);
pageContext.removeAttribute(“username”, pageContext.SESSION_SCOPE);
%>
12)findAttribute(String name)
pageContext对象的findAttribute()方法将在application对象、session对象、request对象、page对象内部查找是否有某个参数或者Java对象与这些对象绑定了,搜索顺序是先是范围最小的page对象,其次是request对象、session对象,最后是application对象,这个方法的返回值是第一个符合要求的Java对象的值。它的使用方法如下:
<%
String username=pageContext.findAttribute(“username”);
%>
13)getAttributeScope(String name)
使用这个方法可以知道特定的参数或者Java对象和哪一个JSP对象绑定在一起。该方法的返回值是整型常数,可能是下面4个常数之一:
l pageContext.PAGE_SCOPE
l pageContext.REQUEST_SCOPE
l pageContext.SESSION_SCOPE
l pageContext.APPLICATION_SCOPE
如果返回值是pageContext.SESSION_SCOPE,表明这个Java对象和session对象绑定在一起。如果是其他返回值,读者可以依次类推。它的使用方法如下:
<%
Int scope=pageContext.getAttributeScope(“username”);
%>
14)getAttributeNameInScope(int scope)
该方法可以获取特定JSP对象内部绑定了哪些参数或者Java对象,scope参数指定了该方法的作用范围。这个方法的返回值是一个枚举对象(Enumeration)。它的用法示例如下:
<%
Enumeration enum=null;
enum=pageContext.getAttributeNamesInScope(pageContext.SESSION_SCOPE);
while(enum.hasMoreElements())
{
out.println(enum.nextElement()+”<br>”);
}
%>
上面的JSP代码段将返回session对象中所绑定的参数或者Java对象的名字。
15)release()
该方法将会释放pageContext对象所占的资源。
16)forward(String url)
该方法可以实现网页的重定向功能,类似于response.sendRedirect()方法。
17)include(String relativeUrlPath)
该方法可以让当前文件包含进一个外部文件,类似于JSP的include编译指令和<jsp:include>操作指令。
由上面对pageContext对象的介绍,读者应该不难看出,pageContext对象有两大主要功能,分别是获取各JSP内部对象,以及直接操作与某些JSP对象绑定在一起的参数或者Java对象。
发表评论
-
jar/war/ear包的区别
2011-03-24 14:58 1488经常在我们Java Web项目中看到jar/war/ear这几 ... -
Weblogic10 Classloading 问题
2011-03-24 14:51 1553首先要说说Weblogic的classloading ... -
weblogic 页面访问速度慢的可能原因及解决办法
2011-03-24 11:40 1771系统部署在weblogic8.1上去后,发现比在tomcat下 ... -
java常量定义
2011-03-04 11:54 1392static final String MY_STATIC_F ... -
java接口
2011-03-04 11:24 957public interface Runnable { ... -
Tomcat显示路径下全部文件的问题
2011-01-07 16:46 1092打开你tomcat/conf/web.xml ... -
使用批处理提高数据库执行效率
2010-11-03 16:01 1152Statement stmt = conn.createSta ... -
java中的vo 、dto 、dao
2010-09-08 10:34 28166VO是跟数据库里表的映射,一个表对应一个VO DAO是用VO来 ... -
java final关键字
2010-08-10 15:15 1259一、final关键字 1、定义为static final 的 ... -
java中组合和继承关系
2010-08-09 15:51 16081、 组合是在一个类中引用其他类对象 Java中组合是&q ... -
java包访问权限
2010-08-09 10:15 3103包访问权限是指 方法未声明时默认为包访问权限 只有 在同一包下 ... -
window.open参数
2010-06-05 22:30 901前言:经常上网的朋友可能会到过 这样一些网站,一进入首页立刻 ... -
base64
2010-05-26 22:12 1405Base64是网络上最常见的 ... -
java远程调试
2010-05-18 12:15 2608Eclipse高级操作 远程调 ... -
java注解
2010-05-07 14:40 1150JAVA注解的总结 一 ... -
Asptctj是什么
2010-05-07 11:02 1029What is AspectJ <script>& ... -
jndi简介
2010-05-06 13:54 882JNDI是 Java 命名与目录接 ... -
用HtmlParser 写个简单的 news爬虫
2010-04-27 10:08 1996有一段时间没写博客了 ... -
将数字转换成字符串
2010-03-16 21:56 1852public static String getNumberS ... -
解析xml文件
2010-03-06 16:56 895一个解析xml文件 SAXBuilder builder = ...
相关推荐
NULL 博文链接:https://chaoyi.iteye.com/blog/2070817
普通java类中获取pageContext对象
主要介绍了JavaWeb pageContext对象原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
超全面javaweb教程28天第11,12天_5_pageContext对象
在servlet中获取pageContext对象 使用jspsmart组件
jsp九大内置对象:pageContext,request,response,out,session,application、exception、config、实例代码讲解,有注释可运行
JSP内置对象的归纳与总结,内置对象概述 out对象 request对象 response对象 session对象 application对象 pageContext对象 exception对象
JSP内建对象: page对象 config对象 out对象 request对象 response对象 seesion对象 application对象 pageContext对象 exception对象 的全部方法和具体的解释!
详细了解JSP中九个隐含对象,page 对象,config 对象,request 对象,response 对象,out 对象,session 对象,application对象,pageContext对象,exception对象
JSP的内置对象详细讲解,其中包括理解内置对象的含义及熟练掌握out对象及其方法的使用 熟练掌握request对象及其方法的使用 熟练掌握response对象及其方法的使用 ...掌握pageContext对象及其方法的使用
声明中不能使用。概述request对象response对象session对象application对象pageContext对象config对象exceptio
pageContext变量存储与当前页面相关联的PageContext对象的值。 补: 如果方法需要访问多个与页面相关的对象, 传递pageContext要比传递request,response,out等的独立引用更容易。(虽然两种方式都能...
pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。 session表示一个请求的javax.servlet....
对象是典型的具有方法、属性和集合的事物 对象的属性反映了对象的状态,可以读取或设置。对象的集合是由很多不同的与...这8个对象分别是request、response、pageContext、session、application、out、config和page。
pageContext 页面上下文对象 application 应用程序对象 exception 异常对象 说明:有几种对象看起来和ASP的内置对象差不多,功能也类似,这是因为这些内置对象的构建基础是标准化的HTTP协议。从本质上讲,JSP的这些...
pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本类名也叫...
作用域通信对象 pageContext request session application
jsp request 9大对象详解config pageContext application对象
当访问一个 Servlet 时,以下 Servlet 中的哪个方法先被执行? (A) destroy() (B) doGet() ... pageContext 对象的 findAttribute() 方法的作用是 A.用来设置默认页面的范围或指定范围之中的已命名对象 B.用来删除默
了解内置对象的分类及组成 掌握输入/输出对象:request、response 和 out 掌握作用域通信对象:session、application和pageContext 掌握 Servlet 相关对象:page 和 config 掌握错误对象:exception