JSP九大内置对象

JSP九大内置对象 : 内置对象( 又叫隐含对象, 有九个内置对象 ) : 不需要预先声明就可以在脚本代码和表达式中随意使用 .

1. request 对象 :

代表的是来自客户端的请求 , 客户端发送的请求封装在 request 对象中 , 通过它才能了解到用户的请求信息 , 然后作出响应 , 它是 HTTPServletRequest 的实例 , 作用域为 request ( 响应生成之前 )
Object getAttribute(String name);// 返回指定属性的属性值
void setAttribute(String key, Object value);// 设置属性的属性值
Enumeration getAttributeNames();// 返回所有可以用属性名的枚举
String getParameter(String name);// 返回指定name的参数值
Enumeration getParameterNames();// 返回可用参数名的枚举
String[] getParameterValues(String name);// 返回包含参数name的所有制的数组
ServletInputStream geetInputStream();// 得到请求体中一行的二进制流
BufferedReader getReader();// 返回解码过了的请求体


String getServerName();// 返回接收请求的服务器主机名
int getServerPort();// 返回服务器接收此请求所用的端口号
String getRemoteAddr();// 返回发送请求的客户端的IP地址
String getRemoteHost();// 返回发送请求的客户端主机名
String getRealPath();// 返回一个虚拟路径的真实路径
String getCharacterEncoding();// 返回字符编码方式
int geContentLength();// 返回请求体的长度 ( 字节数 )
String getContentType();// 返回请求体的MIME类型
String getProtocol();// 返回请求用的协议类型以及版本号
String getScheme();// 返回请求用的协议名称( 例如 : http  https  ftp )

2. response 对象 :

对象代表的是对客户端的响应 , 也就是说可以通过 response 对象来组织发送到客户端的数据 ; 但是由于组织方式比较底层 , 所以不建议初学者使用 , 需要向客户端发送文字时直接使用 ; 
它是 HttpServletResponse 的实例 ; 作用域为 page ( 页面执行期 )
String getCharacterEncoding();// 返回响应用的是哪种字符编码
ServletOutputStream getOutputStream();// 返回响应的一个二进制输出流
PrintWriter getWriter();// 返回可以向客户端输出字符的一个对象
void setContentLength(int len);// 设置响应头长度
void setContentType(String type);// 设置响应的MIME类型
void sendRedirect(String location);// 重新定向客户端的请求

3. session 对象 :

指的是客户端与服务器的一次会话 , 从客户连接到服务器的一个 WebApplication 开始 , 直到客户端与服务器断开连接为止 ; 它是 HTTPSession 类的实例 , 作用域为 session ( 会话期 )
long getCreationTime();// 返回SESSION创建时间 
public String getId();// 返回SESSION创建时JSP引擎为它设的惟一ID号 
long getLastAccessedTime();// 返回此SESSION里客户端最近一次请求时间 
int getMaxInactiveInterval();// 返回两次请求间隔多长时间此SESSION被取消(ms) 
String[] getValueNames();// 返回一个包含此SESSION中所有可用属性的数组 
void invalidate();// 取消SESSION,使SESSION不可用 
boolean isNew();// 返回服务器创建的一个SESSION,客户端是否已经加入 
void removeValue(String name);// 删除SESSION中指定的属性 
void setMaxInactiveInterval();// 设置两次请求间隔多长时间此SESSION被取消(ms)

4. out 对象 :

out 对象是 JspWriter 类的实例,是向客户端输出内容常用的对象 ; 作用域为 page ( 页面执行期 )
void clear();// 清除缓冲区的内容 
void clearBuffer();// 清除缓冲区的当前内容 
void flush();// 清空流 
int getBufferSize();// 返回缓冲区以字节数的大小,如不设缓冲区则为0 
int getRemaining();// 返回缓冲区还剩余多少可用 
boolean isAutoFlush();// 返回缓冲区满时,是自动清空还是抛出异常 
void close();// 关闭输出流

5. page 对象 :

page 对象就是指向当前 JSP 页面本身 , 有点象类中的 this 指针 , 它是 Object 类的实例 ; page 对象代表了正在运行的由 JSP 文件产生的类对象 , 不建议初学者使用 ; 作用域为 page ( 页面执行期 )
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();// 使一个线程处于等待直到被唤醒 
void enterMonitor();// 对Object加锁 
void exitMonitor();// 对Object开锁

6. application 对象 :

实现了用户间数据的共享 , 可存放全局变量 ; 它开始于服务器的启动 , 直到服务器的关闭 , 在此期间 , 此对象将一直存在 ;
这样在用户的前后连接或不同用户之间的连接中 , 可以对此对象的同一属性进行操作 ;
在任何地方对此对象属性的操作 , 都将影响到其他用户对此的访问 ; 服务器的启动和关闭决定了 application 对象的生命 ;
它是 ServletContext 类的实例 ; 作用域为 application
Object getAttribute(String name);// 返回给定名的属性值 
Enumeration getAttributeNames();// 返回所有可用属性名的枚举 
void setAttribute(String name,Object obj);// 设定属性的属性值 
void removeAttribute(String name);// 删除一属性及其属性值 
String getServerInfo();// 返回JSP(SERVLET)引擎名及版本号 
String getRealPath(String path);// 返回一虚拟路径的真实路径 
ServletContext getContext(String uripath);// 返回指定WebApplication的application对象 
int getMajorVersion();// 返回服务器支持的Servlet API的最大版本号 
int getMinorVersion();// 返回服务器支持的Servlet API的最大版本号 
String getMimeType(String file);// 返回指定文件的MIME类型 
URL getResource(String path);// 返回指定资源(文件及目录)的URL路径 
InputStream getResourceAsStream(String path);// 返回指定资源的输入流 
RequestDispatcher getRequestDispatcher(String uripath);// 返回指定资源的RequestDispatcher对象
Servlet getServlet(String name);// 返回指定名的Servlet
Enumeration getServlets();// 返回所有Servlet的枚举
Enumeration getServletNames();// 返回所有Servlet名的枚举
void log(String msg);// 把指定消息写入Servlet的日志文件
void log(Exception exception,String msg);// 把指定异常的栈轨迹及错误消息写入Servlet的日志文件
void log(String msg,Throwable throwable);// 把栈轨迹及给出的Throwable异常的说明信息 写入Servlet的日志文件

7. pageContext 对象 :

提供了对 JSP 页面内所有的对象及名字空间的访问 , 也就是说他可以访问到本页所在的 session , 也可以取本页面所在的 application 的某一属性值 , 
他相当于页面中所有功能的集大成者 , 它的本类名也叫 pageContext ; 作用域为 Pageconfig 对象
JspWriter getOut();// 返回当前客户端响应被使用的JspWriter流(out) 
HttpSession getSession();// 返回当前页中的HttpSession对象(session) 
Object getPage();// 返回当前页的Object对象(page) 
ServletRequest getRequest();// 返回当前页的ServletRequest对象(request) 
ServletResponse getResponse();// 返回当前页的ServletResponse对象(response) 
Exception getException();// 返回当前页的Exception对象(exception) 
ServletConfig getServletConfig();// 返回当前页的ServletConfig对象(config) 
ServletContext getServletContext();// 返回当前页的ServletContext对象(application)
void setAttribute(String name,Object attribute);// 设置属性及属性值 
void setAttribute(String name,Object obj,int scope);// 在指定范围内设置属性及属性值 
public Object getAttribute(String name);// 取属性的值 
Object getAttribute(String name,int scope);// 在指定范围内取属性的值 
public Object findAttribute(String name);// 寻找一属性,返回起属性值或NULL 
void removeAttribute(String name);// 删除某属性 
void removeAttribute(String name,int scope);// 在指定范围删除某属性 
int getAttributeScope(String name);// 返回某属性的作用范围 
Enumeration getAttributeNamesInScope(int scope);// 返回指定范围内可用的属性名枚举 
void release();// 释放pageContext所占用的资源 
void forward(String relativeUrlPath);// 使当前页面重导到另一页面 
void include(String relativeUrlPath);// 在当前位置包含另一文件 

8. config 对象 :

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

9. exception 对象 :

这是一个例外对象 , 当一个页面在运行过程中发生了例外 , 就产生这个对象 ; 如果一个JSP页面要应用此对象 , 就必须把 isErrorPage 设为true ,
否则无法编译 ; 他实际上是 Throwable 的对象 ; 作用域为 page
这是一个例外对象 , 当一个页面在运行过程中发生了例外 , 就产生这个对象 ; 如果一个JSP页面要应用此对象 , 就必须把 isErrorPage 设为true , 否则无法编译 ; 
他实际上是 Throwable 的对象 ; 作用域为 page

总结

原文地址:https://www.cnblogs.com/hetaoyuan/p/12508473.html