jsp内建对象及其实例讲解

来源:互联网 发布:文怀沙 知乎 编辑:程序博客网 时间:2024/04/29 01:45
 (一)内建对象的介绍
     jsp为简化页面的开发提供了一些内部对象.这些内部对象不需要由jsp的编写者实例化,他们由容器实现和管理,在所有的jsp页面上
都能使用内部对象.所有的隐藏对象只有对Scriptlet或者表达式有用,在jsp声明中不可用.

1.out
    out对象被封装成javax.servlet.jsp.jspWriter接口.它表示为客户打开的输出流,PrintWriter使用它向客户端发送输出流.
    用于向客户端输出数据.
    out.println(Object),out.print(Object)输出Object类型. println方法在内容后面添加一空行,但是这个空行被浏览器解析掉,所以
                                                         如果要换行,要添加out.println("<br>").
    out.newLine() 输出一个换行字符.
    out.flush() 输出缓冲区里的数据.
    out.close() 关闭输出流.
    out.clearBuffer() 清除缓冲区里的数据,并把数据输出到客户端.
    out.clear() 清除缓冲区里的数据,但不把数据输出到客户端.
    out.getBufferSize()获得缓冲区的大小.
    out.getRemaining() 获得缓冲区中没有被占用的空间的大小.
    out.isAutoFlush() 返回布尔值.

2.request
    request对象代表请求对象,它被包装成httpServletRequest接口.通过getparameter方法可以得到request的参数,通过GET,POST,HEAD
    等方法可以得到request的类型.通过Cookies,Referer等可以得到请求的Http头.
    来自客户端的请求经Servlet容器处理后,由request对象进行封装.它作为jspService()方法的一个参数由容器传递给jsp页面.
    getAttributeNames() 返回request对象的所有属性的名字集合,其结果是一个枚举类型.
    getAttribute(String name) 返回由name指定的属性值,如果不存在,则返回null.
    isUserInRole(String role) 判断认证后的用户是否属于逻辑的role中的成员.
    getCookies() 返回客户端所有的cookie对象,结果是一个Cookie数组.
    getCharacterEncoding() 返回请求中的字符编码方式.
    getContentLength() 返回请求的Body的长度,如果不确定长度,则返回-1.
    getHeader(String name) 获得HTTP协议定义的文件头信息.
    getHeaders(String name) 返回指定名字的request Header的所有值,其结果是一个枚举类型.
    getHeaderNames() 返回所有的request Header的名字.枚举.
    getInputStream() 返回请求的输入流,用于获得请求中的数据.
    getMethod() 获得客户端向服务器端传送数据的方法,如:post,get,header,trace.
    getParameter(String name) 获得客户端传送给服务器端的参数值,该参数是由name指定的,通常是表单中的参数.
    getParameterNames() 获得客户端发送给服务器端的所有参数的名字.
    getParameterValues(String name) 获得指定参数的所有值,参数由name指定.
    getProtocol() 获取客户端向服务器端传送数据所依据的协议名称.
    getQueryString() 获得查询字符串,该字符串是由客户端以get方法向服务器端传送的.
    getRequestURI() 获取发出请求字符串的客户端地址.
    getRemoteAddr() 获取客户端的IP地址.
    getRemoteHost() 获取客户端的名字.
    getSession([Boolean create]) 返回和请求有关的session.当由参数create且这个参数为true,如果客户端还没有创建session,那么将创建一个新的session.
    getServerName() 获取服务器的名字.
    getServerPath() 获取客户端所请求的脚本文件的文件路径.
    getServerPort() 获取服务器的端口号.
    removeAttribute(String name) 删除请求中的一个属性.
    setAttribute(String name,java.lang.Ojbect objt) 设置名字为name的request参数的值.
   
3.response
    response被包装成HttpServletResponse接口.它封装了jsp产生的响应,然后被发送到客户端以响应客户的请求.和request对象一样,
    它由容器生成,作为jspService()方法的参数被传入jsp.因为输出流是缓冲的,所以可以设置Http状态码和response头.
    addCookie(Cookie cook) 添加一个Cookie对象,用来保存客户端的用户信息.
    addHeader(String name,String value) 添加HTTP文件头信息,该header将传到客户端去,如果已经存在同名的header,则会覆盖以前的header.
    containsHeader(String name) 判断指定名字的http文件头是否已经存在,然后返回boolean.
    encodeURL() 使用sessionId来封装URL.
    flushBuffer() 强制把当前缓冲区的内容发送到客户端.
    getBufferSize() 返回缓冲区的大小.
    getOutputStream() 返回到客户端的输出流对象.
    sendError(int) 向客户端发送错误的信息. 例如:404是指网页不存在或者请求的页面无效.
    sendRedirect(String location) 把响应发送到另一个位置进行处理.
    setContentType(String contentType) 设置响应的MIMEL类型.
    setHeaders(String name,Strng value) 设置指定名字的Http文件头的值,如果该值已经存在,则新值会覆盖原有的旧值.

4.session
    session对象用来保存每个用户的信息.以便跟踪每个用户的操作状态.其中session信息保存在容器里,session的ID保存在客户机的Cookie中.
    和session对应的是HttpSession接口.
    getAttribute(String name) 获取与指定名字name相联系的属性.
    在jsp1.0中,这个方法为session.getValue(String name).
    getAttributeNames() 返回session对象中存储的每一个属性对象.
    getCreationTime() 返回session被创建的时间.
    getId() 此方法返回唯一标识,每个session的ID是不同的.
原创粉丝点击