JSP页面中内置对象out的打印方法out.print与out.write的区别
来源:互联网 发布:数据归一化处理 编辑:程序博客网 时间:2024/05/20 20:03
一丶简介
在JSP中out.print()和out.write()方法都属于抽象类Writer的抽象子类JspWriter的方法;其中out.print()方法属于抽象子类JspWriter中的方法,而out.write()是父类Writer的方法.
二丶out.write()与out.print()方法的区别
①该方法只能输出字符/字符数组/字符串等等字符相关类型的数据;而对于out.print()方法是属于子类JspWriter中的自己的抽象方法,它将所有数据都转换为了字符串的形式输出.
②对于当两种方法输入的都为字符串时,如果值为null,对于out.print()来说会打印出null,而对于out.write()来说会直接报出空指针异常(NullPointerException异常).
对于上述情况进行的案列分析:如果直接传入的数据是数字时:
如果是一下代码:
<% out.print(1); %><!--<hr/>是分割线--><hr/><% out.write(1); %>
打印结果如下:
上图中out.print(1):打印出的效果是为1;而对于out.write(1):打印出来的是空,没有值.原因何在?
因为:在out.print(1)中直接将1转化为了字符串”1”,所以显示出来时1;而对于out.write(1)中是将1转换为了对应的ASCII表中的字符,在对应的ASCII码表中1-32对应的字符在页面上都不能显示出来.
如果传入的是整数97呢?
代码如下:
<% out.print(97); %><!--<hr/>是分割线--><hr/><% out.write(97); %>
显示:
以下是ASCII码表的相关信息:
附带out.write()相关原码:
public void write(int c) throws IOException { synchronized (lock) { if (writeBuffer == null){ writeBuffer = new char[writeBufferSize]; } writeBuffer[0] = (char) c; write(writeBuffer, 0, 1); } }
0 0
- JSP页面中内置对象out的打印方法out.print与out.write的区别
- JSP中out.write()和out.print()的区别
- 【问答】JSP中out.print 和 out.write 的区别
- JSP中out.write()和out.print()的区别
- JSP中out.write()和out.print()的区别
- JSP中out.write()和out.print()的区别
- 转:JSP中out.write()和out.print()的区别
- JSP中out.write()和out.print()的区别
- Servlet 中,out.print()与out.write()的区别
- JSP中out.print()、out.println()以及out.write()的区别
- out.print和out.write的区别
- out.print和out.write的区别
- out.print和out.write的区别
- jsp中out的print和write的区别
- Jsp out.print 和 out.write 区别
- Jsp out.print 和 out.write 区别
- JSP中out.print和out.wirte的区别,以及out.println的输出区别
- [j2ee][servlet]out.print和out.write的区别
- Unity LZMA GZIP 压缩、解压文件 和 打包文件夹 (支持进度回调)
- Implement Set using Array.
- 启动Web项目时控制台出现如下错误解决方法
- struts2+hibernate4+spring4整合步骤
- 堆栈的顺序存储(数组)
- JSP页面中内置对象out的打印方法out.print与out.write的区别
- 谈谈面向对象
- [Unity]原生GUI模仿iOS TableView
- 祝贺我公司完成dsp电音、和声等高端开发案例
- 归并排序
- 【数据结构与算法】图 遍历
- jQuery 知识点 (五) —— jQuery 事件
- Python 条件语句
- 浅谈 Quartz2D 在开发中的用处 - 图形的状态