JavaWeb-JSP:JSP九大内置对象

来源:互联网 发布:做淘宝客服售前的技巧 编辑:程序博客网 时间:2024/06/15 17:24

JSP九大内置对象

jsp内置对象
jsp内置对象就是在jsp页面中可以使用的java类对象。

对象名类型作用域applicationjavax.servlet.ServletContextApplicationsessionjavax.servlet.http.HttpSessionSessionrequestjavax.servlet.http.HttpServletRequestRequestresponsejavax.servlet.http.HttpServletResponsePagepageContextjavax.servlet.jsp.PageContextPageconfigjavax.servlet.ServletConfigPageoutjavax.servlet.jsp.JspWriterPagepagejava.lang.ObjectPageexceptionjava.lang.ThrowablePage

四个作用域

page当前页面有效request当前请求有效session当前会话有效application在整个应用程序中有效

pageConext设置任意范围的属性

使用函数:pageConext.setAttribute("name","value",int SCOPE);

  1. 设置page范围
    pageConext.setAttribute("name","xiazdong",PageConext.PAGE_SCOPE);
  2. 设置request范围
    pageConext.setAttribute("name","xiazdong",PageConext.REQUEST_SCOPE);
  3. 设置session范围
    pageConext.setAttribute("name","xiazdong",PageConext.SESSION_SCOPE);
  4. 设置application范围
    pageConext.setAttribute("name","xiazdong",PageConext.APPLICATION_SCOPE);
因此,只需要PageContext就能完成全部内置对象的操作;

JSP内置对象的生命周期

一个JSP页面对应一个Servlet类,每个Servlet类有三个方法:

  • init方法:初始化JSP/Servlet的方法。
  • service方法:对用户请求产生响应的方法。
  • destroy方法:销毁JSP/Servlet的方法。
  • request对象和response对象是service方法的形参,
application对象,page对象,out对象,pageContext对象,session对象都是service的方法中生成的实例。

九大对象祥解

  1. request对象

    客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。
    request对象具有请求域,即完成客户端的请求之前,该对象一直有效。

      序号方法说明
    • object getAttribute(String name)//返回指定属性的属性值
    • Enumeration getAttributeNames() //返回所有可用属性名的枚举
    • String getCharacterEncoding() //返回字符编码方式
    • int getContentLength() //返回请求体的长度(以字节数)
    • String getContentType() //得到请求体的MIME类型
    • ServletInputStream getInputStream() //得到请求体中一行的二进制流
    • String getParameter(String name) //返回name指定参数的参数值
    • Enumeration getParameterNames() //返回可用参数名的枚举
    • String[] getParameterValues(String name) //返回包含参数name的所有值的数组
    • String getProtocol() //返回请求用的协议类型及版本号
    • String getScheme() //返回请求用的计划名,如:http.https及ftp等
    • String getServerName() //返回接受请求的服务器主机名
    • int getServerPort() //返回服务器接受此请求所用的端口号
    • BufferedReader getReader() //返回解码过了的请求体
    • String getRemoteAddr() //返回发送此请求的客户端IP地址
    • String getRemoteHost() //返回发送此请求的客户端主机名
    • void setAttribute(String key,Object obj) //设置属性的属性值
    • StringgetRealPath(String path) //返回一虚拟路径的真实路径
    • String request.getContextPath() //返回上下文路径
  2. response对象

    response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例。
    response对象具有页面作用域,即访问一个页面时,该页面内的response对象只能对这次访问有效,其它页面的response对象对当前页面无效。

      序号方法说明
    • String getCharacterEncoding() //返回响应用的是何种字符编码
    • ServletOutputStream getOutputStream() //返回响应的一个二进制输出流
    • PrintWriter getWriter() //返回可以向客户端输出字符的一个对象
    • void setContentLength(int len) //设置响应头长度
    • void setContentType(String type) //设置响应的MIME类型
    • sendRedirect(java.lang.String location) //重新定向客户端的请求
  3. session对象

    session对象指的是客户端与服务器的一次会话,从客户端连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession类的实例。
    Session对象是一个JSP内置对象,它在第一个JSP页面被装载时自动创建,完成会话期管理。从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间切换,服务器应当通过某种办法知道这是一个客户,就需要Session对象。
    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类的实例,是向客户端输出内容常用的对象

      序号方法说明
    • void clear() //清除缓冲区的内容
    • void clearBuffer() //清除缓冲区的当前内容
    • int getBufferSize() //返回缓冲区以字节数的大小,如不设缓冲区则为0
    • void flush() //清空流
    • int getRemaining() //返回缓冲区还剩余多少可用
    • boolean isAutoFlush() //返回缓冲区满时,是自动清空还是抛出异常
    • void close() //关闭输出流
  5. page对象

    page对象就是指向当前JSP页面本身,有点象类中的this指针,它是java.lang.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() //使一个线程处于等待直到被唤醒
    • void enterMonitor() //对Object加锁
    • void exitMonitor() //对Object开锁
  6. application对象

    application对象实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application对象的生命。它是ServletContext类的实例。

      序号方法说明
    • 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的枚举
    • void log(String msg) //把指定消息写入Servlet的日志文件
    • Enumeration getServletNames() //返回所有Servlet名的枚举
    • void log(Exception exception,String msg) //把指定异常的栈轨迹及错误消息写入Servlet的日志文件
    • void log(String msg,Throwable throwable) //把栈轨迹及给出的Throwable异常的说明信息 写入Servlet的日志文件
  7. exception对象

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

      序号方法说明
    • String getMessage() //返回描述异常的消息
    • String toString() //返回关于异常的简短描述消息
    • void printStackTrace() //显示异常及其栈轨迹
    • Throwable FillInStackTrace() //重写异常的执行栈轨迹
  8. pageContext对象

    pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本类名也叫pageContext。

      序号方法说明
    • 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) //在当前位置包含另一文件
  9. config对象

    config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象)

      序号方法说明
    • 1 ServletContext getServletContext() //返回含有服务器相关信息的ServletContext对象
    • String getInitParameter(String name) //返回初始化参数的值
    • Enumeration getInitParameterNames() //返回Servlet初始化所需所有参数的枚举

1 0
原创粉丝点击