JSP的内置对象:

1.session对象

  前面在Servlet部分已经提到,过当客户第一次访问Web服务器发布目录(一个Web服务器有一个或多个"发布目录")下的网页文件时,Web服务器会自动创建一个session对象,并为其分配唯一的ID号,客户可以将其需要的一些信息保存到该session对象,以便需要时使用。session对象就是指通过getSession法办法得到的对象,在JSP中是隐含对象,关于session对象的使用读者可以参见Servlet API

 2.application对象

  当Web服务器启动时,Web服务器会自动创建application对象。Application对象一旦创建,它将一直存在,直到Web服务器关闭。因此,application对象可以实现多客户间的数据共享。

  一个Web服务器常常有多个发布目录,当Web服务器启动时,它自动为每个发布目录都创建一个application对象,这些application对象各自独立,而且和发布目录一一对应。

  application的生命周期:从Web服务器启动到Web服务器关闭。

  application在生命周期内的作用范围:在同一个发布目录A下的所有网页文件中,都可以对"和发布目录A对应"的application对象进行操作,而且访问发布目录A的所有客户都共用一个application对象。因此,当在该application中存放数据信息时,所有访问该发布目录A的客户都能够对其进行访问,实现了多客户之间的数据共享。

  application对象的基类是:javax.servlet.ServletContext类。可以用该类中的getServletContext()方法取得application。具体的使用方法参见Servlet API。

 3.request对象

  request对象主要用于取得客户在表单中提交的数据信息及多个网页之间数据信息传递等。同时通过它也可以取得Web服务器的参数。跟Servlet参数中的Request对象是相对应的。

  request对象的基类为:javax.servlet.ServletRequest

  如果传输协议是http,则是javax.servlet.HttpServletRequest
  
  具体的使用方法参见Servlet API。

 4. respose对象

  respose对象主要用于向客户端输出信息,响应客户端的请求。跟Servlet参数中的Response对象是相对应的。

  respose对象的基类是:javax.servlet.ServletResponse

  如果传输协议是http.则为javax.servlet.HttpServletResponse.

  具体的使用方法参见Servlet API。

 5.out对象

  out对象用于向客户端输出数据。

  out对象基类是:javax.servlet.JspWriter类,跟Servlet中由HttpServletResponse得到的PrintWriter略有不同,但是都是从
Writer继承而来,所以基本上还是一样的。

  具体的使用方法参见Servlet API。

 6.page对象

  page对象是当前JSP页面本身的一个实例。它的类型是:java.lang.Object。

  其方法就是Object类中的方法。如:Class getClass()返回一个对象在运行时所对应的类的表示,从而可以得到相应的信息。String toString()返回当前对象的字符串表示。page对象在当前页面中可以用this代替。

  具体的使用方法参见Java 2 API。

 7.exception对象

  当JSP页面在执行过程中发生例外或错误时,会自动产生exception对象。

  在当前页面用<%@ page isErrorPage="true" %>设置后,就可以使用该exception对象,来查找页面出错信息。
  exception对象的类型是:java.lang.Exception类.

  exception对象的常用方法为:

  String getMessage()
  返回页面的出错信息,如果没有则返回null

  void printStackTrace()
  以标准错误输出流的形式,打印并显示当前exception对象及其执行轨迹.

  具体的使用方法参见Java 2 API。

 8.pageContext对象

  pageContext对象相当于当前页面的容器,可以访问当前页面的所有对象。
  pageContext对象的基类是:javax.servlet.jsp.PageContext类。
  pageContext对象的常用方法:
  HttpSession getSession() 取得当前页面的session对象。
  ServletRequest getRequest() 取得当前页面的request对象。
  ServletResponse getResponse() 取得当前页面的response对象。
  ServletContext getServletContext() 取得当前页面的application对象。
  ServletConfig getServletConfig() 取得当前页面的config对象。
  Object getPage() 取得当前页面的page对象。
  JspWriter getOut() 取得当前页面的out对象。
  Exception getException() 取得当前页面的exception对象。
  void setAttribute(String variabelName, Object objectName)
  将对象objectName保存到pageContext中。
  Object getAttribute(String variableName)

  取得pageContext对象中保存的数据。如果参数variableName在当前session中不存在,则返回null.
  void removeAttribute(String variableName)

  删除pageContext中指定名字variableName的对象。如果该对象名不存在,则不执行任何操作。

 

 

·page范围

  具有page范围的对象被绑定到javax.servlet.jsp.PageContext对象中。在这个范围内的对象,只能在创建对象的页面中访问。可以调用pageContext这个隐含对象的getAttribute()方法来访问具有这种范围类型的对象(pageContext对象还提供了访问其他范围对象的getAttribute方法),pageContext对象本身也属于page范围。当 Servlet类的_jspService()方法执行完毕,属于page范围的对象的引用将被丢弃。page范围内的对象,在客户端每次请求JSP页面时创建,在页面向客户端发送回响应或请求被转发(forward)到其他的资源后被删除。

  ·request范围

  具有request范围的对象被绑定到javax.servlet.ServletRequest对象中,可以调用request这个隐含对象的 getAttribute()方法来访问具有这种范围类型的对象。在调用forward()方法转向的页面或者调用include()方法包含的页面中,都可以访问这个范围内的对象。要注意的是,因为请求对象对于每一个客户请求都是不同的,所以对于每一个新的请求,都要重新创建和删除这个范围内的对象。

  ·session范围

  具有session范围的对象被绑定到javax.servlet.http.HttpSession对象中,可以调用session这个隐含对象的 getAttribute()方法来访问具有这种范围类型的对象。JSP容器为每一次会话,创建一个HttpSession对象,在会话期间,可以访问 session范围内的对象。

  ·application范围

  具有application范围的对象被绑定到 javax.servlet.ServletContext中,可以调用application这个隐含对象的getAttribute()方法来访问具有这种范围类型的对象。在Web应用程序运行期间,所有的页面都可以访问在这个范围内的对象。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值