response輸出字符流以及解決亂碼
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
?* Servlet implementation class ResponseDemo1
?*/
@WebServlet("/ResponseDemo4")
public class ResponseDemo4 extends HttpServlet {
?? ?private static final long serialVersionUID = 1L;
????? ?
??? /**
???? * @see HttpServlet#HttpServlet()
???? */
??? public ResponseDemo4() {
??????? super();
??????? // TODO Auto-generated constructor stub
??? }
?? ?/**
?? ? * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
?? ? */
?? ?protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
?? ??? ?//獲取流對象之前設(shè)置流的默認(rèn)編碼,默認(rèn)編碼是:ISO-8859-1? 設(shè)置為GBK
?? ??? ?//windows系統(tǒng)下默認(rèn)瀏覽器編碼為GBK
//?? ??? ?response.setCharacterEncoding("utf-8");
?? ??? ?//告訴瀏覽器,服務(wù)器發(fā)送的消息體數(shù)據(jù)的編碼。建議瀏覽器使用該編碼解碼
?? ??? ?//瀏覽器收到這個消息就特別聽話,就按照執(zhí)行了
//?? ??? ?response.setHeader("content-type", "text/html;charset=utf-8");
?? ??? ?
?? ??? ?//簡單的形式,設(shè)置編碼
?? ??? ?response.setContentType("text/html;charset=utf-8");
?? ??? ?
?? ??? ?
?? ??? ?
?? ??? ?//1.獲取字符輸出流
?? ??? ?PrintWriter pw = response.getWriter();
?? ??? ?//2.輸出數(shù)據(jù)
?? ??? ?pw.write("hello response");
?? ??? ?System.out.println();
?? ??? ?pw.write("你好 response");
?? ?}
?? ?/**
?? ? * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
?? ? */
?? ?protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
?? ??? ?// TODO Auto-generated method stub
?? ??? ?doGet(request, response);
//?? ??? ?this.doGet(request, response);
?? ?}
}
標(biāo)簽: