JSP的9种内置对象

JSP的九种内置对象1.request对象客户端的请求被储存在request对象中,通过它可以得到用户的请求,然后做出相

JSP的九种内置对象

1.request对象

  客户端的请求被储存在request对象中,通过它可以得到用户的请求,然后做出相应。它是HttpServletRequest类的实例。

request对象常用方法:

     getCookies();该方法用于返回客户端Cookies对象数组

     getHeader(String name);该方法可以获取http协议所定义的特定http头文件的信息,name可以使HTTP协议文件头的名字

     getHeaderNames();返回当前request对象所有的http头文件的名字

     setAttribute(String name,Object):设置名字为name的request的参数值

     getAttribute(String name);返回绑定在name属性上的值,如果没有则返回null

     getAttributeNames();返回当前request对象绑定在一起的所有属性名字,返回值是一个枚举对象

     getMethod();返回当前客户端向服务器端传输协议的方式,如post、get等

     getParameter(String name);获得客户端请求的参数值

     getParameterNames();获得当前request中所有参数的名称,返回值是枚举类型

     getParameterValues(String name);获得name指定参数的所有值,使用getParameter(String name)只返回name当前的值

     getQueryString();获得请求字符串,该字符串由客户端以get方式发送到服务器端

     getProtocol();获得客户端向服务器端发送数据所依据的协议名称

     getRequestURL();获取发出请求字符串的客户端地址

     getRemoteAddr();获取客户端的IP地址

     getRemoteHost();获取客户端的名字

     getServerName();该方法返回服务器的名称

     getServerPort()用于获取服务器提供的HTTP服务的端口

     getRemoteAddr()该方法用于获得发送HTTP请求的客户端地址。利用这个方法,我们可以屏蔽来自某些IP地址的访问

2.response对象

  response对象包含了相应客户请求的有关信息,但在JSP中很少直接用到它,它是HttpServletRequest类的实例。

reponse对象常用方法

     addHeader(String name,String values):添加一个具有指定名称的和值的响应标头,即HTTP头文件。header将会传到客户端,如果有同名的Header存在,那么原来的Header将会被覆盖掉。

     setHeader(String name,String value):设定一个具有指定名称的HTTP文件头的值,如果该值存在,那么将 会用新的值去改写原来的值。

     addCookie(Cookie cookie):添加一个Cookie对象,用来保存客户端的用户信息,可以用request对象的getCookie对象获取Cookie。

     containsHeader(String name):判断指定名字的HTTP文件头是否已经设置,返回一个布尔值。

     sendError(int sc) :使用指定的状态向客服端发送一个错误的消息。如、“505” 指示服务器内部错误,  “404” 指示网页找不到的错误等。

     SendRedirect(URL):把响应发生到另一个指定的页面进行处理,即重定向页面。

     flushBuffer():强制当前缓冲区的内容发生到客户端。

     setContenType(String type):设置被发送到客户端响应的内容类型。

     setLcoLocale(Locale:locale):设置响应的语言环境。

     setStatus(int:statuscode):设置响应的状行。

     isCommitted():判断响应是否已经提交,返回一个boolean值。

     reset():清楚缓冲区已经存在的数据,同时也清楚状态码和标头

3.session对象

  session对象是指客户端和服务器端的一次会话,从客户端连接到服务器端的WebApplication开始,直到客户端与服务器端断开连接为止。它是HttpSession类的实例。

session对象常用方法

     getValue(String name)有些类似于getAttribute(),可以通过putValue()存储变量的值,removeValue()删除变量。

     getValueNames()该方法可以返回和当前session绑定在一起的参数或者Java对象的名字,该方法返回的是一个字符串数组。

     getCreationName()该方法可以返回当前session对象创建的时间单位以毫秒作为单位,从1970年1月1日开始。

     getID()系统每生成一个session,都会赋予其一个ID,通过ID来鉴定不同的用户。

     getLastAccessedTime()该方法返回当前session最后一次被操作的时间。

     getMaxInactiveInterval()该方法可以获得当前的session对象的最大休眠时间。

     setMaxInactiveInterval()设定最大的休眠时间,通常和getMaxInactiveInterval()搭配使用。

     removeValue(String name)将某个参数或者Java对象和session解除绑定。

     invaliate()清除当前的session对象,将所有的参数或者Java对象与session解除绑定。

 4.outer对象

  outer对象是向客户端输出内容的常用对象,它是javax.servlet.JspWriter类的实例。

outer对象常用方法:

     newLine();输出一个换行符

     flush();强制输出服务器中的数据。如果page中的autoFlush设置为true,那么jsp程序会将输出数据存放在服务器的缓冲区内,如果程序结束或缓冲区已满,服务器会自动将缓冲区内的数据输出到客户端。如果page中的autoFlush设置为false,那需     要显示调用flush()方法,将数据输出到客户端

     clsoe();调用该方法后,先将缓冲区内的数据输出到客户端,再关闭客户端的输出流

     clearBuffer();该方法先将缓冲区内的数据发送到客户端再清除缓冲区内的数据。在缓冲区为空时,调用该方法会产生IOException异常

     clear();该方法用于清空缓冲区内的数据,但不将数据写到客户端,在缓冲区为空时,调用该方法会产生IOException异常

     getBufferSize();该方法用于返回缓冲区的大小,缓冲区的大小是通过预编译指令page和buffer属性来确定的  <@%page buffer=”4kb”%>

     getRemaining();该方法返回缓冲区内没有使用的字节大小

     isAutoFlush();该方法返回布尔值,返回值由page指令的autoFlush的属性值决定

5.page对象

  page对象就是jsp页面本身,类似于类中的this指针。它是java.lang.Object类的实例。

6.application对象

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

7.exception对象

  exception对象是异常对象,jsp在运行过程中产生异常时就会产生一个exception对象。如果一个页面想要应用此对象,必须在预编译指令page中将isErrorPage设置为true,否则无法编译。它是java.lang.Throwable类的实例。

exception对象常用方法:

     getMessage();返回错误信息

     printStackTrace();以标准形式输出一个错误和错误的堆栈

     ToString();以字符串形式返回一个对异常的描述

8.pageContext对象

  pageCOntext对象是一个非常重要的内置对象,不过在一般的JSP程序中,很少用到它。它提供了对jsp页面内所有对象及命名空间的访问,它可以访问到本页所在的所有session,也可以取本页面所在的application的某一属性值,它相当于页面中所功能的集合。它是javax.servlet.jsp.PageContext类的实例对象。

9.config对象

  config对象是在一个Servlet初始化时JSP引擎向它传递细心用的,此信息包括Servlet初始化时所要用到的参数以及服务器的有关信息。

config对象的常用方法

     getServletContext();返回一个含有服务器相关信息的ServletContext对象,即application对象

     getInitParameter(String name);返回Servlet初始化参数,参数名有name指定  

     getInitParameterNames();返回Servlet初始化所包含的所有参数名称构成的枚举对象