您的位置:首页 > 其它

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

2017-07-06 22:58 357 查看
今日温习异步上传图片的代码。发现里面用了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 

注释的代码输出效果一样
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: