【异步请求相关知识点】response.getWriter().write()和 response.getWriter().print()的区别

来源:互联网 发布:知乎 安卓下载 编辑:程序博客网 时间:2024/06/05 15:13

今日温习异步上传图片的代码。发现里面用了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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

输出对象服务器端代码:

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

运行结果 : 
server.Person@5bd5ab 
如果使用response.getWriter()。 
writer(),则代码会报错 
演示文本信息的服务器端代码:

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

输出结果 
this is server response 
注释的代码输出效果一样

阅读全文
0 0
原创粉丝点击