jsp内置对象学习笔记

=====================================
前言
jsp的9个内置对象中,request对象和response对象是最常用的,需要掌握的东东也相对多一些,于是分别单独作了一些笔记,其他的7个内置对象则在此简单记录一下,有了大致了解就OK了。

request对象学习笔记:
http://www.darkmi.com/blog/archives/1024

response对象学习笔记:
http://www.darkmi.com/blog/archives/1025

=====================================
out对象
out对象的类型是javax.servlet.jsp.JspWriter,该类从java.io.Writer类派生,以字符流的形式输出数据。out对象实际上是PrintWriter对象的带缓冲的版本(在out对象内部使用PrintWriter对象来输出数据),可以通过page指令的buffer属性来调整缓冲区的大小,默认的缓冲区是8kb。

JspWriter抽象类的API帮助文档地址:
http://java.sun.com/products/servlet/2.2/javadoc/javax/servlet/jsp/JspWriter.html

out对象的主要方法如下:
(1)print()、及println()
输出数据,包括对各数据类型进行支持的重构方法。是out对象最常用的方法。

同print()相比,println()函数会多输出一个换行符,不过换行的效果是针对生成的html源代码,而在页面显示上是看不到换行效果的。想要在页面上换行可以这样做:


out.println(“
“);


(2)newLine()
输出一个换行符。

(3)flush()
输出缓冲区里的数据。

(4)close()
关闭输出流。

(5)clearBuffer()
清出缓冲区中的数据,并把数据输出到客户端。

(6)clear()
清出缓冲区中的数据,但不会把数据输出到客户端。

(7)getBufferSize()
获得缓冲区的大小。

out.println(“out.getBufferSize() -> ” + out.getBufferSize() + “
“);

输出为:8192

1024 X 8 = 8192
说明默认缓冲区的大小为8kb。

(8)getRemainning()
获取缓冲区中没有被占用空间的大小。

(9)isAutoFlush()
判读是否为auto flush。默认为true。

示例:

out.println(“test”);


=====================================
session对象
session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个Web Application开始,直到客户端与服务器断开连接为止。它是HttpSession的实例。 Session的信息保存在服务器端,Session的ID保存在客户机的Cookie中。事实上,在许多服务器上,如果浏览器支持Cookies的话就直接使用Cookies,如果不支持或者禁用了Cookies的话就自动转化为URL-rewriting,Session自动为每个流程提供了方便的存储信息的方法。

session对象最常用的两个方法是:
(1)setAttribute(String name, java.lang.Object value)
在session范围内存储名字为name值为value的键值对。

(2)getAttribute(String name)
从session中取出名字为name的值。

session的其他常用方法如下:
(1)getAttributeNames(String name)
返回session对象中存储的每一个属性对象,其结果是一个枚举(Enumeration)的实例。

(2)getCreationTime()
返回session被创建的时间。最小单位为千分之一秒。

(3)getId()
此方法返回唯一的标识,这些标识为每一个session而产生。

(4)getLastAccessedTime()
返回当前session对象最后被客户发送的时间。

(5)removeAttribute(String name)
删除与指定名字name相关联的信息。

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

同session对象一样,application对象最常用的两个方法是:
(1)setAttribute(String name, java.lang.Object value)
在session范围内存储名字为name值为value的键值对。

(2)getAttribute(String name)
从session中取出名字为name的值。

application对象的其他常用方法如下:
(1)getAttributeNames(String name)
返回所有的application对象的属性的名字,其结果是一个枚举(Enumeration)的实例。

(2)getInitParameter(String name)
返回由name指定的名字的application对象的某个属性的初始值。

(3)getServletInfo()
返回servlet编译器的当前版本的信息。

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

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

=====================================
page对象
page对象就是指向当前JSP页面本身,有点象类中的this指针,它是java.lang.Object类的实例。

该内置对象并不常用。

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

=====================================

此条目发表在java/j2ee分类目录,贴了标签。将固定链接加入收藏夹。

发表评论

您的电子邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据