JSP内置对象整理
1. 九大内置对象:
out,request,response,session,application,page,pageContext,config,Exception.
1.1 out:
输出对象,类型为javax.servlet.jsp.JspWriter,作用域为page。常用方法:
void println();
void clear() 清除缓冲内容,在flush()后使用会出现异常;
void clearBuffer() 同上,可在flush()后使用;
void flush() 刷新缓冲区,将缓冲区内容输出。
int getBufferSize();
boolean isAutoFlush();
void close() 释放资源?
1.2 request:
请求对象,服务器端(可实现转发)。类型为javax.servlet.ServletRequest,作用域为request(一次请求)。常用方法:
String getParameter(String name) 返回参数name的参数值,接收参数一般为页面传递的参数,诸如表单提交、URL重写(。。。?id=**)等,无参数设置方法;
String[] getParameterValues(String name) 返回参数name参数值数组;
void setAttribute(String, Object) 存储请求中的属性;
Object getAttribute(String name) 返回属性name的属性值,为setAttribute()设置等属性;
String getContentType() 返回请求的MIME类型(text/html);
String getProtocol() 返回协议类型,版本号;
String getServerName() 返回服务器主机名。
void setCharacterEncoding() 设置请求编码(utf-8)。
1.3 response:
相应对象,客户端(可实现重定向)。类型为javax.servlet.ServletResponse,作用域为page。常用方法:
**addCookie(Cookie c); 添加cookie;
String getCharacterEncoding() 设置编码格式;
void setContentType(String type) 设置响应的MIME类型;
*PrintWriter getWriter() 返回一个输出对象;(输出提前于内置out对象,解决:内置对象强制添加out.flush()刷新缓存);
sendRedirect(java.lang.String lacation) 请求重定向。。两次请求,地址改变,无法传递上一页面的request及response。
1.4 session:
会话对象,服务器端(客户端类似为cookie)。类型为javax.servlet.http.HttpSession,作用域为session。常用方法:
long getCreationTime() 返回session创建时间(为自1970年1月1日起的毫秒数,需利用Date类转换);
public String getId() 返回sesison的ID;
public void setAttribute(String name,Object value) 在session中保存属性对象;**map形式保存(key/value)
public Object getAttribute(String name) 返回属性name的值;
String[] getValueNames() 返回所有已存储属性名;
int getMaxInactiveInterval() 返回session存活时间;(getLastAccessedTime()为最后一次请求时间)
void setMaxInactiveInterval( int s) 设置session存活时间;
1.5 application:
应用程序对象,类型为javax.servlet.ServletContext。作用域为Application。实现用户间数据的共享,可存放全局变量。常用方法:
public void setAttribute(String name,Object value) 在application中存储属性;
Object getAttribute(String name) 返回属性name的值;
Enumeration getAttributeNames(); 返回枚举所有属性;
String getServerInfo(); 返回引擎、版本号等信息;
1.6 page**:
页面对象,类型为javax.lang.Object,作用域page。指向页面本身(this)。不常用。方法:
getClass() 返回当时Object的类;
hashcode() Hash码;
toString() 转换为字符串;
equals(object obj) 比较相等;
motify() 唤醒一个线程;
motifyAll() 唤醒所有线程;
wait(int timeout) 使线程等待;
1.7 pageContext:
页面上下文对象,类型为javax.servlet.jsp.PageContext,作用域为page。提供对jsp内所有的对象及名字空间的访问,可以访问本页session及application的某一属性。常用方法:
JspWriter getOut() 当前客户端响应使用的输出流(out);
HttpSession getSession()
。。。getPage(),getRequest(),getResponse()。。。
setAttribute(),getAttribute()。。
forward(String relativeUrlPath);
include(String relativeUrlPath);
1.8 config:
配置对象,类型为javax.servlet.ServletConfig,作用域为page。 提供一些配置信息,常用方法:
getInitParameter()
getInitParameterNames() 获得Servlet初始化时的参数
1.9 Exception:
异常对象,类型为 javax.lang.Throwable,作用域为page。使用前需设置页面“<%@ page isErrorPage="true "%>”。