jsp九大隐式对象

来源:互联网 发布:linux考试认证 编辑:程序博客网 时间:2024/05/26 12:59

九大隐式对象

一.JSP九大隐式对象:requestresponseconfigapplicationexceptionSessionpageoutpageContext

二.out隐式对象用于向客户端发送文本数据。

1out对象是通过调用pageContext对象的getOut方法返回的,其作用和用法与ServletResponse.getWriter方法返回的PrintWriter对象非常相似。

2JSP页面中的out隐式对象的类型为JspWriterJspWriter相当于一种带缓存功能的PrintWriter,设置JSP页面的page指令的buffer属性可以调整它的缓存大小,甚至关闭它的缓存。

3、只有向out对象中写入了内容,且满足如下任何一个条件时,out对象才去调用ServletResponse.getWriter方法,并通过该方法返回的PrintWriter对象将out对象的缓冲区中的内容真正写入到Servlet引擎提供的缓冲区中:

设置page指令的buffer属性关闭了out对象的缓存功能

out对象的缓冲区已满

整个JSP页面结束

三.pageContext对象

1pageContext对象是JSP技术中最重要的一个对象,它代表JSP页面的运行环境,这个对象不仅封装了对其它8大隐式对象的引用,它自身还是一个域对象,可以用来保存数据。并且,这个对象还封装了web开发中经常涉及到的一些常用操作,例如引入和跳转其它资源、检索其它域对象中的属性等。

四.通过pageContext获得其他对象

getException方法返回exception隐式对象

getPage方法返回page隐式对象

getRequest方法返回request隐式对象

getResponse方法返回response隐式对象

getServletConfig方法返回config隐式对象

getServletContext方法返回application隐式对象

getSession方法返回session隐式对象

getOut方法返回out隐式对象

pageContext封装其它8大内置对象的意义,思考:如果在编程过程中,把pageContext对象传递给一个普通Java对象,那么这个java对象将具有什么功能? 

五.pageContext作为域对象

1pageContext对象的方法

public voidsetAttribute(java.lang.String name,java.lang.Object value)

publicjava.lang.Object getAttribute(java.lang.String name)

publicvoid removeAttribute(java.lang.String name)

2pageContext对象中还封装了访问其它域的方法

publicjava.lang.Object getAttribute(java.lang.String name,int scope)

public voidsetAttribute(java.lang.String name,java.lang.Object value,int scope)

publicvoid removeAttribute(java.lang.String name,int scope)

3、代表各个域的常量

PageContext.APPLICATION_SCOPE

PageContext.SESSION_SCOPE

PageContext.REQUEST_SCOPE

PageContext.PAGE_SCOPE

4findAttribute方法   *重点,查找各个域中的属性)

六、引入和跳转到其他资源

PageContext类中定义了一个forward方法和两个include方法来分别简化和替代RequestDispatcher.forward方法和include方法。

方法接收的资源如果以“/”开头,“/”代表当前web应用。

七、4个域对象

pageContext(称之为page域)

request(称之为request域)

session(称之为session域)

servletContext(称之为application域)

0 0