jsp中频繁使用的一些对象,但是又不需要我们程序人员获得对象,Tomcat服务器在jsp页面加载完毕的时候已经帮我们获取了,这些对象成为jsp的内置对象。
jsp中有九个内置对象:
类型 内置对象名
HttpServletRequest request
HttpServletResponse response
ServletConfig config
ServletContext application
HttpSession session
Throwable exception
Object(this) page
JspWriter out
PageContext pageContext
前七个不具体说了,和前面的Servlet用法一样,详细说一下out和pageContext对象。
out对象
JspWriter类,相当于带缓冲的PrintWriter
PrintWriter.write() 直接写入浏览器
JspWriter.write() :先将要写入的内容放入到缓冲区中, 然后缓冲区达到一定条件时缓冲区中将数据往外写出,然后再到PrintWriter 中,由PrintWriter的writer的方法写出到浏览器。
缓冲区达到什么条件才会将数据写出呢?1.缓冲区满了(默认是8kb) 2.刷新缓冲区 (out.flush())3.关闭缓冲区(直接使用buffer="0kb")4.执行完jsp页面
pageContext对象
pageContext对象的类型是PageContext,是JSP的上下文对象.
两个作用:(1)可以获取其他八个内置对象:使用场景:在自定义标签的时候,一般频繁地使用到
(2)本身是一个域对象。保存数据,取出数据,两个参数的保存到page域中了,三个参数的保存到其他域(request/session)中了。取数据遵循的原则:在哪个域中存的数据,就需要在哪个域中取出数据。保存的数据可以通过pageContext对象的findAttribute(“查找名称”)来查找。
findAttribute():在四个域中搜索数据:顺序:page域(当前jsp页面)-》request域-》session域-》context域
网友评论