053_Servlet——resp.getWrite()与resp.getPrint()的区别?

1、首先介绍write()和print()方法的区别:

  (1)、write():仅支持输出字符类型数据,字符、字符数组、字符串等
  (2)、print():可以将各种类型(包括Object)的数据通过默认编码转换成bytes字节形式,这些字节都通过write(int c)方法被输出

首先这两个方法返回给浏览器的数据都是字符串
然后,writer()方法只能输出int、String、char类型,而且输出int型时不能原样输出,而是会将writer(97),转换成a处处到浏览器。
print()方法什么类型都可以输出,对象、int、String、boolea、都可以进行输出,而且样式不做转换,print(97),输出到浏览器的就是一个97的字符串。

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        User user = new User();
        user.setName("ZhangSan").setAdress("河南").setAge(36);

        resp.setHeader("Content-type","text/html;charset=UTF-8");

        resp.getWriter().print(user);//若user对象重写了toString(),那么输出的就是对象信息,若没有,输出的就是引用地址
        resp.getWriter().print(999);//输出的时999字符串
        resp.getWriter().print(false);//输出的结果时false字符串
        resp.getWriter().print("haohao学习");//输出的是好好学习字符换

        resp.getWriter().write("===================");
        resp.getWriter().write(97);//输出的是a
        resp.getWriter().write("刘娥");//疏忽的是刘娥

        resp.getWriter().flush();
        resp.getWriter().close();

    }


 2、介绍response.getWriter()和out的区别:
  (1)、out和response.getWriter的类不一样,一个是JspWriter,另一个是java.io.PrintWriter。
  (2)、执行原理不同:JspWriter相当于一个带缓存功能的printWriter,它不是直接将数据输出到页面,而是将数据刷新到response的缓冲区后再输出,
      response.getWriter直接输出数据(response.print()),所以(out.print)只能在其后输出。 
  (3)、out为jsp的内置对象,刷新jsp页面,自动初始化获得out对象,所以使用out对象是需要刷新页面的,
       而response.getWriter()响应信息通过生成的对象输出到网页上,当响应结束时它自动被关闭,与jsp页面无关,无需刷新页面
       形象的比喻:当我们调用response.getWriter()这个对象同时获得了网页的画笔,这时你就可以通过这个画笔在网页上画任何你想要显示的东西。
  (4)、out的print()方法和println()方法在缓冲区溢出并且没有自动刷新时候会产生ioexception,
       而response.getWrite()方法的print和println中都是抑制ioexception异常的,不会有ioexception 
   
   out.println(""); 方法并不能也页面布局换行,只能领html代码换行,要实现页面布局换行可以:out.println("</br>");
————————————————
版权声明:本文为CSDN博主「zp2605811855」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zp2605811855/article/details/91852527

posted on 2020-03-06 16:45  十年磨三劍  阅读(379)  评论(0编辑  收藏  举报

导航