response.getWriter().write()和 response.getWriter().print()的区别

Posted Qiao_Zhi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了response.getWriter().write()和 response.getWriter().print()的区别相关的知识,希望对你有一定的参考价值。

异步上传图片的代码。发现里面用了response.getWriter().print(),故联想到response.getWriter().writer(),经过一番api的查找与实操,总结如下:

  • response.getWriter()返回的是PrintWriter,这是一个打印输出流。
  • response.getWriter().print(),不仅可以打印输出文本格式的(包括html标签),还可以将一个对象以默认的编码方式转换为二进制字节输出
  • response.getWriter().writer(),只能打印输出文本格式的(包括html标签),不可以打印对象。
    客户端演示代码
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
     $("#button1").click(function(){
             $.get("AJAXServer",null,function(data){
                 alert(data);
                $("#info").html(data);
            }); 
           });
    })
</script>
</head>
<body>
<input type="button" id="button1" value="点我获取服务器响应信息" onclick="a()";/>
<div id="infd

 

 
  • 1

输出对象服务器端代码:

        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
          Person person = new Person();
          person.setName("sjl");
          response.getWrier().print(person);}

 

运行结果 :
[email protected]
如果使用response.getWriter().writer(),则代码会报错

 


演示文本信息的服务器端代码:

response.getWriter().write("this is <b>server</b> response");
/**response.getWriter().print("this is<b>server2</b>response")*/;

 

输出结果
this is server response


注释的代码输出效果一样

 

 

 

 

以上是关于response.getWriter().write()和 response.getWriter().print()的区别的主要内容,如果未能解决你的问题,请参考以下文章

已为此响应调用 Tomcat 8.5 response.getWriter()

response.getWriter()和jsp中的out对象的区别

response.getWriter().write()与out.print()的区别

response.getWriter()和jsp中out对象的区别

servlet 跳转页面后response.getWriter().println输出的汉字乱码

什么是PrintWriter out = servlet中的response.getWriter()