JSP内建对象详解

1. Out

      out对象被封装成javax.servlet.jsp.JspWriter接口。它表示为客户打开的输出流,PrintWriter使用它向客户端发送输出流。简单地说,它主要用来向客户端输出数据,代表输出流的对象。

out对象的主要方法有:

  •   out.print(boolean)、out.println(boolean)输出Boolean类型的数据
  •   out.print(char)、out.println(char)输出Char类型的数据
  •   out.print(char[])、out.println(char[]) 输出Char[]类型的数据
  •   out.print(double)、out.println(double)输出Double类型的数据
  •   out.print(float)、out.println(float)输出Float类型的数据
  •   out.print(int)、out.println(int)输出Int类型的数据
  •   out.print(long)、out.println(long)输出Long类型的数据
  •   out.print(Object)、out.println(Object)输出Object类型的数据
  •   out.print(String)、out.println(String)输出String类型的数据
  •   out.newLine() 输出一个换行字符
  •   out.flush() 输出缓冲区里的数据
  •   out.close() 关闭输出流
  •   out.clearBuffer() 清除缓冲区里的数据,并把数据输出到客户端
  •   out.clear() 清除缓冲区里的数据,但不会吧数据输出到客户端
  •   out.getBufferSize()获得缓冲区的大小
  •   out.getRemaining() 获得缓冲区中没有被占用的空间的大小
  •  out.isAutoFlush() 返回布尔值。如果AutoFlush为真,则返回true

     Out对象是JSP中使用最频繁的对象,它的print()和println()方法使用更加常见。print()方法就是把Java对象原始数据类型输入到客户端的缓冲区,而println()方法除了把内容输出到客户端外,还在后面添加一个空行。但是这个空行被浏览器解析时忽略。要想真正在页面中换行,需要通过out.println("<br>")方法来实现。

 

2.request

    request对象代表请求对象,它被包装成HttpServletRequest接口。通过getParameter方法可以得到request的参数,通过GET、POST、HEAD等方法可以得到request的类型,通过Cookies、Referer等可以得到请求的HTTP头。

    来自客户端的请求经Servlet容器处理后,由request对象进行封装。它作为jspService()方法的一个参数由容器传递给JSP页面。

  request对象的主要方法有:

  •  isUserInRole(String role) 判断认证后的用户是否属于逻辑的role中的成员
  • getAttribute(String name)返回由name指定的属性值,如果指定的属性值不存在,则返回一个null值
  • getAttributeNames()返回request对象的所有属性的名字集合,其结果是一个枚举的实例
  • getCookies() 返回客户端的所有cookie对象,结果是一个Cookie数组
  • getCharacterEncoding()返回请求中的字符编码方式
  • getContentLength() 返回请求的Body的长度,如果不确实长度,返回-1
  • getHeader(String name)获得HTTP协议定义的文件头信息
  • getHeaders(String name)返回指定名字的request Header的所有值,其结果是一个枚举的实例
  • getHeaderName() 返回所有request Header的名字,其结果是一个枚举的实例
  • getInputStream() 返回请求的输入流,用于获得请求中的数据。
  • getMethod() 获得客户端向服务器端传送数据的方法
  • getParameter(String name)获得客户端传送给服务器的参数值,该参数是由name指定的,通常是表单中的参数
  • getParameterNames()获得客户端传送给服务器端的所有参数的名字,其结果是一个枚举的实例
  • getParameterValues(String name)获得指定参数的所有值,参数由name指定。
  • getProtocol()获取客户端向服务器端传送数据所依据的协议名称
  • getQueryString() 获得查询字符串,该字符串是由客户端以GET方法向服务器端传送的。
  • getRequestURI() 获取发出请求字符串的客户端地址
  • getRemoteAddr() 获取客户端的IP地址
  • getRemoteHost() 获取客户端的名字
  • getSession([Boolean create]) 返回和请求相关的session。create参数是可选的。当有参数create且这个参数的值为true时,如果客户端还没有创建session,那么将创建一个新的session
  • getServerName() 获取服务器的名字
  • getServletPath() 获取客户端所请求的脚本文件的文件路径
  • getServerPort() 获取服务器的端口号
  • removeAttribute(String name)删除请求中的一个属性
  • setAttribute(String name,java.lang.Object objt)设置名字为name的request参数的值,该值是由java.lang.Object类型的objt指定的。

 3. response

      response被包装成HttpServletResponse接口,它封装了JSP产生的响应,然后被发送到客户端以响应客户的请求。和request对象一样,它由容器生成,作为jspService()方法的参数被传入JSP。因为输出流式缓冲的,所以可以设置HTTP状态码和response头。

   response对象的主要方法:

  •  addCookie(Cookie cook) 添加一个Cookie对象,用来保存客户端的用户信息。
  •  addHeader(String name,String value)添加HTTP文件头信息。该Header将传到客户端,如果已经存在同名的Header,则将会覆盖已有的Header。
  • containsHeader(String name) 判断指定名字的HTTP文件头是否已经存在,然后返回真假布尔值。
  • encodeURL() 使用sessionId封装URL,如果没有必须封装URL,则返回原值。
  • flushBuffer()  强制把当前缓冲区的内容发送到客户端
  • getBufferSize() 返回缓冲区的大小
  • getOutputStream()  返回客户端的输出流对象
  • sendError (int) 向客户端发送错误的信息
  • sendRedirect(String location)把响应发送到另一个位置进行处理
  • setContentType(String contentType)设置相应的MIME类型
  • setHeader(String name,String value)设置指定名字的HTTP文件头的值,如果该值已经存在,则新值会覆盖原有的旧值。

 4. Session

       session对象用来保存每个用户信息,以便跟踪每个用户的操作状态。其中,session信息保存在容器里,session的ID保存在客户机的Cookie中。在许多服务器上,如果浏览器支持Cookie的话,就直接

 使用Cookie。但是如果不支持或废除了Cookie的话,就自动转化为URL-rewriting,session自动为每个流程提供了方便的存储信息的方法。

  在一般情况下,用户首次登陆系统时容器会给此用户分配一个唯一标识的session id,这个ID用于区分其他的用户。当用户退出系统时,这个session就好自动消失。和session对应的是HttpSession接口。

 session对象的主要方法有:

  • getAttribute(String name) 获取与指定名字name相联系的属性
  • getAttributeNames()返回session对象中存储的每一个属性对象,其结果为一个枚举类的实例。
  • getCreationTime()返回session被创建的时间,最小单位为千分之一秒。为了得到一个对打印输出很有用的值,可将此值传给Date Constructor或者GregorinaCalendar的setTimeInMillis
  • getId() 此方法返回唯一标识。每个session的ID是不同的
  • getLastAccessedTime() 返回和当前session对象相关的客户端最后发生请求的时间,最小单位为千分之一秒。
  • getMaxInactiveInterval() 返回总时间,负值表示session永远不会超时,它的值为该session对象的生存时间。
  • invalidate() 销毁这个session对象,使得和它绑定的对象都失效。
  • isNew() 如果客户端不接受使用Session,那么每个请求中都会产生一个session对象。
  • removeAttribute(String name) 删除与指定name相联系的属性
  • setAttribute(String name,java.lang.Object.value)设置指定名字name的属性值value,并将之存储在session对象中

 session对象和客户端的会话紧密联系在一起,它由容器自动创建。

 

5. pageContext

     pageContext对象被封装成javax.servlet.jsp.pageContext接口,它为JSP页面包装页面的上下文,管理对属性JSP中特殊可见部分中已命名对象的访问。它的创建和初始化都是由容器完成的。JSP页面里可以直接使用pageContext对象的句柄。pageContext对象的getXXX()、setXXX()和findXXX()方法可以用来根据不同的对象范围实现对这些对象的管理。

    pageContext对象的主要功能是管理对属性JSP中特殊可见部分中已经命名对象的访问。pageContext对象的创建与初始化通常都对JSP程序员是透明的,JSP程序员可以从JSP中获取到用来代表pageContext对象的句柄,因此也就可以用pageContext对象的各种API。

   pageContext对象中常用的方法有:

  • forward(java.lang.String relativeUrlPath) 把页面重定向到另一个页面或者Servlet组件上
  • getAttribute(java.lang.String name[, int scope])  scope参数是可选的。该方法用来检索一个特定的已经命名的对象的范围,并且还可以通过调用getAttributeNamesInScope()方法,检索对某个特定范围的每个属性String字符串名称的枚举。
  • getException() 返回当前的exception对象
  • getRequest() 返回当前的request对象
  • getResponse() 返回当前的response对象
  • getServletConfig() 返回当前页面的ServletConfig对象
  • getServletContext() 返回ServletContext对象,这个对象对所有的页面都是共享的
  • getSession()  返回当前页面的session 对象
  • findAttribute() 方法则可以用来按照页面、请求、会话及应用程序范围的顺序实现对某个已经命名属性的搜索
  • setAttribute() 方法可以用来设置默认页面范围或特定对象范围之中的已命名对象
  • removeAttribute() 方法可以用来删除默认页面范围或特定对象范围之中的已命名对象

6. application

       application对象为多个应用程序保存信息。对于一个容器而言,每个用户都共同使用一个application对象,这和session对象是不一样的。服务器启动后,就好自动创建application对象。这个对象会一直保持,直到服务器关闭为止。

  application对象的主要方法有:

  • getAttribute(String name) 返回由name指定的名字的application对象的属性的值
  • getAttributeNames() 返回所有的application对象的属性的名字,其结果是一个枚举的实例
  • getInitParameter(String name) 返回由name指定的名字的application对象的某个属性的初始值。
  • getServletInfo()  返回Servlet编译器的当前版本的信息
  • setAttribute( String name,Object object)设置由name指定名字的application对象的属性的值object。

7. Config

         config对象被封装成javax.servlet.ServletConfig接口,它表示Servlet的配置。当一个Servlet初始化时,容器把某些信息通过此对象传递给这个Servlet。

  config对象的常用方法有:

  • getServletContext()  返回执行者的Servlet上下文
  • getServletName()  返回Servlet的名字
  • getInitParameter(String name) 返回名字为name的初始化参数的值
  • getInitParameterNames()  返回这个JSP的所有的初始参数的名字

8. Page

     page 对象是java.lang.Object类的一个实例。它指的是JSP实现类的实例,也就是说,它是JSP本身,通过这个可以对它进行访问。

   JSP实现类对象的一个句柄,只有在JSP页面的范围之内才是合法的。

 

9. Exception

      exception对象是java.lang.Throwable类的一个实例。它指的是运行时的异常,也就是被调用的错误页面的结果,只有在错误页面的结果,只有在错误页面(在页面指令里有isErrorPage=true的页面)中才可以使用

 

 

 

 

 

你可能感兴趣的:(应用服务器,jsp,浏览器,servlet,配置管理)