美文网首页
JSP九大内置对象之out对象

JSP九大内置对象之out对象

作者: 转身一世琉璃白_4a57 | 来源:发表于2018-08-31 22:07 被阅读0次

为何会有JSP内置对象

JSP引擎在调用jspServlet时,会传递或创建9个与web开发相关的对象供jspServlet使用。JSP技术的设计者为便于开发人员编写JSP页面时获得这些web对象的引用,特意定义了9个相应的变量,开发人员在JSP页面中通过这些变量就可以快速获得这9大对象的引用

九个内置对象:

  • page
  • config
  • application
  • request
  • response
  • session
  • out
  • exception
  • pageContext

out对象

out对象用于向浏览器输出数据,预制对应的是Servlet的PrintWriter对象,但是这个out对象的类型不是PrintWriter类型,而是JspWriter。
jsp输出底层使用的是response.getWriter(),这里需要讲解一下JSP缓存和Servlet缓存,输出过程是这样:


874710-20170222202031054-1615917490.png

 JSP页面转换为Servlet后,使用的out对象是JspWriter类型的,所以是会先将要发送的数据存入JSP输出缓存中,然后,等JSP输出缓存满了在自动刷新到servlet输出缓存,等serlvet输出缓存满了,或者程序结束了,就会将其输出到浏览器上。除非手动out.flush()。


图片.png
图片.png

分析:如果按没有jsp缓存和servlet缓存的话,输出的结果应该是abc,但是输出的却是bac,为什么呢?按照我们上面所说的原理进行分析,out对象是先将其输出到JSP缓存中,所以a加入了jsp缓存,response.getWriter().print("b")是直接将b输出到servlet缓存中,然后又使用out对象将c输出到jsp缓存,到程序结束,servlet缓存中有b,然后jsp会将缓存中的内容就刷新到servlet缓存中,serlvet就是bac了,然后到浏览器也就得到我们的输出结果了。如果将out.flush()注释去掉,答案就是abc。原因是我们手动的将jsp缓存里面的数据刷新到servlet缓存里面了。

out对象的API

  • int getBufferSize()【得到缓存大小】
  • int getRemaining()【得到未使用缓存的大小】
  • boolean isAutoFlush()
  • void println()
  • void flush()
  • void close()
  • void clearBuffer()
  • void clear()

相关文章

  • JSP精要-one

    JSP JSP内置对象 out对象 out.flush()out.clearBufferout.clear Req...

  • 2018-10-01JSP内置对象记录

    JSP内置对象 JSP九大内置对象: out request response session applicati...

  • 012 JSP, MVC

    JSP 内置对象 out输出流对象 隐藏对象out是javax.servlet.jsp.JspWriter类的实例...

  • JavaWeb学习笔记#1-JSP内置对象

    JSP内置对象 内置对象指web容器创建的对象,不需要new来创建 out对象: out对象是JspWriter类...

  • JSP内置对象

    JSP内置对象包括request对象、response对象、session对象、out对象、application...

  • JSP的9大内置对象

    jsp的9大内置对象 Out对象 out对象类型,JspWriter类,相当于带缓存的PrintWriterPri...

  • jsp 语录

    jsp内置对象: out、request/response、session、application、page、 p...

  • (5)面试

    水仙花数 JSP内置对象out session application request resposepage ...

  • [JSP] 九大内置对象

    一、简述: 1.JSP九大内置对象分为四类: 输入输出对象:out对象、response对象、request对象 ...

  • 3.Jsp内置9大对象

    1.内置对象的概念 2. 9个内置对象 3.out对象 4.pageContext对象 5.Jsp四个域对象的 5...

网友评论

      本文标题:JSP九大内置对象之out对象

      本文链接:https://www.haomeiwen.com/subject/psiewftx.html