Javaweb学习随笔_JSP的九大内置对象

时间:2021-08-23 13:18:04

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 "%>”。