異步上傳圖片的代碼。發現里面用了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);}
運行結果 :
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
注釋的代碼輸出效果一樣