今日温习异步上传图片的代码。发现里面用了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
输出对象服务器端代码:
protected void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Person person = new Person();
person.setName("sjl" );
response.getWrier().print(person);}
运行结果 : server.Person@5bd5ab 如果使用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 注释的代码输出效果一样