使用response的writer
通過response設置響應體
響應體設置文本
PrintWriter getWriter()
獲得字符流,通過字符流的write(String s)方法可以將字符串設置到response???? 緩沖區中,隨后Tomcat會將response緩沖區中的內容組裝成Http響應返回給瀏覽? 器端。
關于設置中文的亂碼問題
原因:response緩沖區的默認編碼是iso8859-1,此碼表中沒有中文,可以通過??? response的setCharacterEncoding(String charset) 設置response的編碼
但我們發現客戶端還是不能正常顯示文字
原因:我們將response緩沖區的編碼設置成UTF-8,但瀏覽器的默認編碼是本地系?? 統的編碼,因為我們都是中文系統,所以客戶端瀏覽器的默認編碼是GBK,我們可以?? 手動修改瀏覽器的編碼是UTF-8。
我們還可以在代碼中指定瀏覽器解析頁面的編碼方式,
通過response的setContentType(String type)方法指定頁面解析時的編碼是UTF-8
response.setContentType("text/html;charset=UTF-8");
上面的代碼不僅可以指定瀏覽器解析頁面時的編碼,同時也內含????? ?????
setCharacterEncoding的功能,所以在實際開發中只要編寫 response.setContentType("text/html;charset=UTF-8");
就可以解決頁面輸出中文亂碼問題。
package com.learn.content;import java.io.IOException; import java.io.PrintWriter;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;public class TextServlet extends HttpServlet {protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {//設置response查詢的碼表//response.setCharacterEncoding("UTF-8");//通過一個頭 Content-Type 告知客戶端使用何種碼表//response.setHeader("Content-Type", "text/html;charset=UTF-8");response.setContentType("text/html;charset=UTF-8");PrintWriter writer = response.getWriter();//writer.write("hello response!!!");writer.write("你好");}protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);} }?
總結
以上是生活随笔為你收集整理的使用response的writer的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: response设置响应头
- 下一篇: 使用response的outputstr