请同学们先浏览PPT,这是一个任务点哈!完成后有惊喜哟!
1.pageContext对象
JSP利用页面上下文对象pageContext可以获取页面所有相关的属性。通过pageContext对象也可以得到当前页面中所有其他的JSP内置对象(out、request、response、session、application等)及其所支持的属性。它实现的接口为javax.servlet.jsp.PageContext。
public void setAttribute(String name, Object value),在pageContext对象中存储指定名字的属性和值。如果值为null,则效果等同于removeAttribute(String name)。
public void setAttribute(String name, Object value, int scope),在指定范围内存储指定名字的属性和值。如果值为null,则效果等同于removeAttribute(String name,int scope)。
public Object getAttibue(String name),读取pageContext对象中指定名字的属性的值,如果指定的属性名不存在,则返回null。
public Object getAttribute(String name, int scope),读取指定范围内指定名字的属性的值,如果指定的属性名不存在,则返回null。
public Enumeration getAttributeNamesInScope(int scope),获取指定范围内所有属性的名字。
public int getAttributesScope(String name),读取指定名字的属性的所属范围。
public void removeAttrbute(String name),删除pageContext对象中指定名字的属性,如果指定的属性名不存在,则什么都不做。
public void removeAttribute(String name, int scope),删除指定范围内指定名字的属性,如果指定的属性名不存在,则什么都不做。
public Object findAttribute(String name),依次在pageContext对象,request对象,session对象,application对象中搜索指定名字的属性。如果找到,则返回属性的值,如果没有找到,则返回null。
用于获取其他内置对象的方法
序号 | 方法名称 | 功能 |
1 | Exception getException() | 获取当前页面出现的异常(即exception对象),不过此时页面应为错误处理页. |
2 | JspWriter getOut() | 获取当前页面的输出流,即out对象 |
3 | Object getPage() | 获取当前页面的Servlet对象,即page对象 |
4 | ServletRequest getRequest() | 获取当前页面的请求对象,即request对象 |
5 | ServletResponse getResponse() | 获取当前页面的响应对象,即Response对象 |
6 | ServletConfig getServletConfig() | 获取当前页面的ServletConfig对象,即config对象 |
7 | ServletContext getServletContext() | 获取当前的ServletContext对象,即application对象 |
8 | HttpSession getSession() | 获取当前页面的会话对象,即session对象 |
2.page对象
page对象是JSP页面对应的Servlet类的实现对象,相当于this。
page对象是指指向当前JSP页面本身,有点像类中的this指针,它是java.lang.Object类的实例。page对象在实际开发过程中并不经常使用。
page对象常用方法如下:(主要是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()使仪的线程处于等待直到被唤醒
page和pageContext的区别:
page:java.lang.Object的实例,对应this关键字。JSP网页本身,page对象是当前页面转换后的Servlet类的实例。从转换后的Servlet类的代码中,可以看到这种关系:Object page = this;在JSP页面中,很少使用page对象。
pageContext:javax.servlet.jsp.PageContext的实例,该对象代表该JSP 页面上下文,使用该对象可以访问页面中的共享数据。常用的方法有getServletContext和getServletConfig等。
3.config对象
config对象代表当前JSP页面的配置信息,它对应的接口是:是javax.servlet.ServletConfig。通常情况下,JSP页面无需配置,因此config对象在JSP页面中比较少用,但它在Servlet中的作用比较大,将在第7章中详细介绍。
config对象的常用方法:
public String getInitParameter(String name),获取指定名字的初始化参数的值,如果参数不存在,则返回null。
public Enumeration getInitParameterNames(),获取所有初始化参数的名字,如果没有初始化参数,则返回一个空的枚举集合。
public ServletContext getServletContext(),获取Servlet的上下文对象。
public String getServletName(),获取Servlet对象的名称。
【案例3-11】config对象实例
3_11.jsp
<%@ page contentType="text/html;charset=UTF-8" %> <html> <body> <!-- 直接输出config的getServletName的值 --> <%=config.getServletName()%> </body> </html> |

4.exception对象
exception对象代表了JSP文件运行时所产生的错误和异常对象,只有在包含<%@page isErrorPage="true" %>的页面中才可以使用,在一般的JSP文件中使用该对象会导致无法编译JSP文件。exception对象的常用方法如下表所示
序号 | 方法 | 说明 |
1 | getMessage() | 返回exception对象的异常信息字符串 |
2 | getLocalizedMessage() | 返回本地化的异常错误 |
3 | toString() | 返回关于异常错误的简单信息描述 |
4 | fillInStackTrace() | 重写异常错误的栈执行轨迹 |

