JSP中page和pageContext的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSP中page和pageContext的区别相关的知识,希望对你有一定的参考价值。

    JSP网页本身,page对象是当前页面转换后的Servlet类的实例。从转换后的Servlet类的代码中,可以看到这种关系:Object page = this;在JSP页面中,很少使用page对象。

    pageContext  javax.servlet.jsp.PageContext 的实例,该对象代表该JSP 页面上下文,使用该对象可以访问页面中的共享数据。常用的方法有getServletContext和getServletConfig等.

    总的来说,pageContext和page都是jsp中的隐含对象,pageContext代表jsp页面的上下文关系,能够调用、存取其他隐含对象;page代表处理当前请求的时候,这个页面的实现类的实例。

参考技术A JSP网页本身,page对象是当前页面转换后的Servlet类的实例。从转换后的Servlet类的代码中,可以看到这种关系:Object page = this;在JSP页面中,很少使用page对象。
pageContext  javax.servlet.jsp.PageContext 的实例,该对象代表该JSP 页面上下文,使用该对象可以访问页面中的共享数据。常用的方法有getServletContext和getServletConfig等.
  //使用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) ;本回答被提问者和网友采纳

JSP内置对象——application,page,pageContext,config,Exception

application对象
application对象实现了用户数据的共享,可存放全局变量。
application开始于服务器的启动,终止于服务器的关闭。
在用户的前后链接或不同用户之间的连接中,可以对application对象的同一属性进行操作。
在任何地方对application对象属性的操作,豆浆影响到其他用户对此的访问。
服务器的启动和关闭决定了application对象的生命。
application对象是ServletContext类的实例。
常用方法如下:
void setAttribute(String name,Object value) 使用指定名称将对象绑定到此会话。
Object getAttribute(String name) 返回与此绘画中的指定名称绑定在一起的对象,如果没有对象绑定在该名称下,则返回null。
Enumeration getAttributeNames() 返回所有可用属性名的枚举
String getServerInfo() 返回JSP(Servlet)引擎名及版本号

page对象
page对象就是指当前JSP页面本身,有点像类中的this指针,他是java.lang.Object类的实例。常用方法如下:
class getClass() 返回此Object的类
int hashCode() 返回此Object的hash码
boolean equals(Object obj) 判断此Object是否与指定得Object对象相等
void copy(Object obj) 把此Object拷贝到指定得Object对象中
Object clone() 克隆此Object对象
String toString() 把此Object对象转换成String类的对象
void notify() 唤醒一个等待的线程
void notifyAll() 唤醒所有等待的线程
void wait(int timeout) 使一个县城处于等待知道timeout结束或被唤醒
void wait() 是一个县城处于等待状态知道被唤醒

pageContext对象
pageContext对象提供了对JSP页面内所有的对象及名字空间的访问
pageContext对象可以访问本页所载的session,也可以取本页面所在的application的某一属性值
pageContext对象相当于页面中的所有功能的集大成者
pageContext对象的本类名也叫pageContext。

config对象
config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象),常用方法如下:
ServletContet getServletContext() 返回含有服务器相关信息的ServletContext对象
String getInitParameter(String name) 返回初始化参数的值
Enumeration getInitParameterNames() 返回Servlet初始化所需所有参数的枚举

Exception对象
exception对象是一个异常对象,当一个页面在运行过程中发生了异常,就产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。他实际上是java.lang.Throable的对象,常用方法如下:
String getMessage() 返回描述异常的消息
String toString() 返回关羽异常的简短描述消息
void printStackTrace() 显示异常及其栈轨迹

 

以上是关于JSP中page和pageContext的区别的主要内容,如果未能解决你的问题,请参考以下文章

JSP内置对象——application,page,pageContext,config,Exception

jsp 的三种语法-头部的 page 指令-.jsp 中的常用脚本-jsp 中的三种注释- 四大域对象pageContext equestsessionapplicatio

JSP中四种对象作用域都有哪些区别?

java page对象和pageContext对象

pageContext对象和config对象

Jsp中的pageContext对象