jsp用于输出的out与PrintWrtier差别
2014-03-01 19:53
330 查看
首先大家先看下一段jsp的代码:
然后,我们再来访问这一段jsp,我们预期的效果应该是 “我先输出”在前面,“我后输出”在后面,但是其实真实的效果却是。。。
其实它们的功能几乎都是一样的,但是这里为什么是这种情况呢?这是因为out是JspWriter对象,我们先往JspWriter对象中输出内容保存在JspWriter的缓冲区,接着又往response的缓冲区中输出内容。大家都知道我们往浏览器输出数据时是靠response对象来输出数据的,在浏览器展示之前JspWriter的缓冲区的内容会先写到response中,这样response中的内容肯定是先把“我后输出”写在前面,之后又把out缓冲区中的内容添加到后面。所以导致我们看的结果是这样的。如果看不懂,我下面随便花了张图,帮助理解下(画的难看,能说明意思就行)
所以导致了我们看到的结果,大家可以理解了吧。所以建议尽量在jsp中需要输出的时候,直接使用out对象输出就可以了,不然会混乱的。
<body> <% out.write("我先输出"); response.getWriter().write("我后输出"); %> </body>
然后,我们再来访问这一段jsp,我们预期的效果应该是 “我先输出”在前面,“我后输出”在后面,但是其实真实的效果却是。。。
其实它们的功能几乎都是一样的,但是这里为什么是这种情况呢?这是因为out是JspWriter对象,我们先往JspWriter对象中输出内容保存在JspWriter的缓冲区,接着又往response的缓冲区中输出内容。大家都知道我们往浏览器输出数据时是靠response对象来输出数据的,在浏览器展示之前JspWriter的缓冲区的内容会先写到response中,这样response中的内容肯定是先把“我后输出”写在前面,之后又把out缓冲区中的内容添加到后面。所以导致我们看的结果是这样的。如果看不懂,我下面随便花了张图,帮助理解下(画的难看,能说明意思就行)
所以导致了我们看到的结果,大家可以理解了吧。所以建议尽量在jsp中需要输出的时候,直接使用out对象输出就可以了,不然会混乱的。
相关文章推荐
- JSP中捕获 OUT 输出的例子
- JAVA-JSP内置对象之out对象进行页面输出
- JSP内置对象学习(4)-out输出对象
- jsp(out对象可以向html页面中输出)
- JSP 的OUT对象输出
- jsp页面中用于传值输出的一些方式
- jsp另外五大内置对象之out输出
- jsp页面中输出对象---out
- JSP中out.print和out.wirte的区别,以及out.println的输出区别
- jsp页面输出HTML产生多余空格(out.print())的解决办法
- jsp页面显示out.write()输出int 类型问题
- JSP详细篇——out
- eclipse中查看android的system.out.println输出
- 如何删除strut2校验后<s:fielderror>在jsp页面输出时的小黑点和自动换行?
- Java使用System.out.print()输出中文成乱码的问题
- jsp内置对象out和response.getWriter()的区别
- WebSphere上部署Web时 找不到用于处理 JSP 的扩展处理器
- JSP生成jpeg图片用于投票
- 【转载】Eclipse:Android开发中如何查看System.out.println的输出内容
- jsp内置对象out、request、response、session、application五大常用对象以及Page、pageContext、exception、config