JspWriter与PrintWriter(转)

  1. 都继承自java.io.writer类
    JspWriter在Jsp页面上直接用out对象输出,也可以直接用pageContex.getOut()得到out对象
    PrintWriter必须通过response.getwriter()得到
    SERVLET中OUT的类型是printwriter,通过RESPONSE.GETWRITER()获得。 
    JSP转成SERVLET后OUT的类型是jspwriter,通过PAGECONTENT.GETOUT()获得
  2. 在Jsp页面上用两种方法同时输出数据,PrintWriter中的数据会先输出
    例如:
    <%  
    out.println("out");  
    JspWriter out1 = pageContext.getOut();  
    if(out == out1 )  
    {  
    	out.println("out==out1");  
    }  
    else  
    {  
    	out.println("out!=out1");  
    }  
    PrintWriter pw = response.getWriter();  
    pw.write("pw writer");  
    %>  
    运行结果为 pw writer out out==out1 This is my JSP page.
    原因:
    out对象相当于插入到了PrintWriter前面的缓冲区中.out对象满足一定条件时,才会调用PrintWriter对象的print()方法,把out缓冲区中的内容输出到浏览器端,如果想让上面的代码的按代码的先后顺序输出可以写成:
    out.flush();刷新缓存区即可
    则输出结果变为out out==out1 pw writer This is my JSP page
  3. PrintWriter的print方法中不会抛出IOException,而JspWriter会。 
    JspWriter是抽象类而PrintWriter不是,也就是说你可以通过new操作来直接新建一个PrintWriter的对象而JspWriter不行,它必须是通过其子类来新建。 
    但是它们之间又是有关系的,这个关系主要是JspWriter对PrintWriter有依赖。初始化一个JspWriter对象的时候要关联ServletResponse对象的一个PrintWriter类型对象,最终JspWriter对象的输出任务还是通过这个PrintWriter类型对象做的
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值