zoukankan      html  css  js  c++  java
  • out.print和out.write

    这是一个JSP页面: 

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


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

    Java代码  收藏代码
    1. out.write("<h1>现在时间:</h1> ");  
    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异常. 

  • 相关阅读:
    使用SQLite数据库实现登陆注册
    使用高德地图api(一)获取调试版和发布版SHA1,包名
    三个痛点简析与启蒙
    统计字符数,行数
    签到app需求分析
    三位数的四则运算
    蒸汽朋克与游戏的结合————《机械迷城》
    结对项目——My note(四)
    结对项目——My note(三)
    结对项目——My note(二)
  • 原文地址:https://www.cnblogs.com/wnlja/p/3928626.html
Copyright © 2011-2022 走看看