这是一个JSP页面:

  1. <%@ page language="java" import="java.util.*"  %>
  2. <%@ page pageEncoding="UTF-8" isELIgnored="false" %>
  3. <%@ page import="java.util.Date" %>
  4. <html>
  5. <head>
  6. <title>  </title>
  7. </head>
  8. <body>
  9. <h1>现在时间:</h1>
  10. <%=new Date() %>
  11. </body>
  12. </html>

转译后生成的servlet,对应的body中,有以下代码:

  1. out.write("<h1>现在时间:</h1>\n");
  2. out.print( new Date());

思考: 
<%=  %>表达式代表的是什么? 为什么 new Date()后,没有 “;”(分号)? 
servlet中,out.write() 和 out.print() 有何区别?

解答: 
There is a method print(Object). There is no method write(Object) 
write(String) exists however. 
serch the javaAPI you will find 
------------------------------------------ 
(java中)有这个方法:print(Object),没有这个方法:write(Object) 
但是却有这个方法:write(String) 
查找javaAPI,你便会发现。

总结: 
out.print()方法,可以输出一个java对象; 
out.write()方法,只能输入一个字符串。

参考资料: 
jsp中的out对象是JspWriter类型的.而JspWriter继承了java.io.Writer .

out对象的write方法是在在父类Writer中定义的,print方法是在子类JspWriter中定义的. 
重载的print方法可以将各种类型的数据转换成字符串的形式输出. 
而重载的write方法只能输出字符/字符数组/字符串等与字符相关的数据.

而且如果使用这两种方法输出值为null的字符串对象, 
那么print方法输出的结果是"null", 
而write方法则会抛出NullPoiterException异常.

out.print和out.write的更多相关文章

  1. Pramp mock interview (4th practice): Matrix Spiral Print

    March 16, 2016 Problem statement:Given a 2D array (matrix) named M, print all items of M in a spiral ...

  2. 我的第一个python程序--给2.x的print代码加上括号

    最近想学习一门脚本语言,综合考虑,选择了python. 花了几天时间看完了 简明 Python 教程 ,想着应该写点什么东西才好,刚好我使用的是3.x版本,以前好多2.x的代码都直接报错,尤其是pri ...

  3. python的print函数的格式化输出

    使用print函数的时候,可以像C一样格式化输出,同时还支持参数化输出 print('%s' % ("CooMark")) print('整数|%d|' % (123)) prin ...

  4. 遭遇Web print

    一直都知道Web打印还不太成熟,以前IE横行时,普遍都是采用打印相关的ActiveX控件,有些国产厂家做得不错,只是那时还没有付费能力,没有太多关注.而纯粹基于Web标准的打印,浏览器对CSS pri ...

  5. python下print结果到文件中的方法

    目的是将print的结果输出到一个文件中,比如这个文件在D:\lianxi\out.txt下,我用的windows: s = '1234' f = open (r'D:\lianxi\out.txt' ...

  6. ns3 print 丢包内容的两种方法

    1.方法一enable ascii print AsciiTraceHelper ascii; pointToPoint.EnableAsciiAll (ascii.CreateFileStream ...

  7. Python中print函数输出时的左右对齐问题

    为了将print函数输出的内容对齐,笔者在http://www.jb51.net/article/55768.htm中找到了左右对齐的方法.整理如下: 一.数值类型(int.float) #  %d. ...

  8. python print及格式化

    print(value,sep=' ',end='\n',file=sys.stdout, flush=False) sep=' '默认空格 print('hello','world') #hello ...

  9. 51. 顺时针打印矩阵[print matrix in clockwise direction]

    [本文链接] http://www.cnblogs.com/hellogiser/p/print-matrix-in-clockwise-direction.html [题目] 输入一个矩阵,按照从外 ...

  10. window.print() 打印页面部分内容的方法

    用 JavaScript 实现页面数据的打印 : 主要是用到了一个 print() 函数 , 该函数将会打印整个 web 页面 body 内的所有 html 数据 ! 使用方法为 window.pri ...

随机推荐

  1. Python 学习日志9月20日

    9月20日 周三 多大年龄了,还活得像个小孩.——急什么,人生又不长. 你习惯了思考宇宙星辰,一百年真的不长,一生也就不那么长,许多人的价值观念你也就无法理解.同样,许多人也无法理解你的价值观念,感兴 ...

  2. 在web应用中使用日志

    Log4J是Jakarta下的一个开源代码的子项目,用Log4J,我们可以使用定制的格式,把调试信息和日志信息输出到一个或多个需要的地方. 在Web应用中一般使用一个专门的Servlet来完成Log4 ...

  3. Ace 在Vue中使用方法

    var Vue = require('vue/dist/vue.common.js'); document.querySelector('body').append(document.createEl ...

  4. Asp.Net Core 入门(五)—— 布局视图_Layout.cshtml

    布局视图和我们在Asp.Net MVC一样,布局视图_Layout.cshtml使得所有视图保持一致的外观变得更加容易,因为我们只有一个要修改的布局视图文件,更改后将立即反映在整个应用程序的所有视图中 ...

  5. mac文件夹怎么重命名?苹果电脑文件夹重命名快捷键

    windows系统下给文件夹重命名相信很多朋友都很熟悉,那么Mac OS系统怎么给文件重命名呢,相信很多刚刚入手Mac OS系统的亲们都会有次疑问,下面小编告诉你Mac OS系统的文件夹到底要怎样才能 ...

  6. Jascript原型链以及Object和Function之间的关系

    先看一个简单的function变量 function fun1(name) { this.name = name; } console.log("fun1", fun1) 从结果可 ...

  7. Django-C003-视图

    此文章完成度[5%]留着以后忘记的回顾.多写多练多思考,我会努力写出有意思的demo,如果知识点有错误.误导,欢迎大家在评论处写下你的感想或者纠错. 在这个章节中,我们也一样需要练习过往已经掌握的技能 ...

  8. python面向对象编程(OOP)

    python作为一种解释性语言,其主要的编程方式就是面向对象,而且python的框架django也是主要面向对象的编程. 类(class)和对象(object) 类(class)是用来描述具有相同属性 ...

  9. database---many to many relationships(多对多关系型数据库)

    Many to many Relationships A many-to-many relationship occurs when multiple records in a table are a ...

  10. Vue 2.0 项目在IE下显示空白

    新写的项目在 IE浏览器显示空白 解释一: Babel默认只转换新的JavaScript句法(syntax),而不转换新的API,比如Iterator.Generator.Set.Maps.Proxy ...