package cn.edu.Response; import java.io.IOException; import java.io.OutputStream; import java.io.PrintWriter; import java.io.UnsupportedEncodingException; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; //servlet中用OutputStream输出中文和数据的问题 public class ResponseDemo1 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { test2(response); } private void test1(HttpServletResponse response) throws IOException, UnsupportedEncodingException { //程序以什么码表输出了,程序就一定要控制浏览器以什么码表打开 //text/html;如果写成text/html,的话浏览器会提示下载 response.setHeader("Content-type", "text/html;charset=UTF-8"); String data="中国"; ServletOutputStream out =response.getOutputStream(); //浏览器默认的字节编码是gb2312 out.write(data.getBytes("UTF-8")); } private void test2(HttpServletResponse response) throws IOException, UnsupportedEncodingException { String data="中国"; OutputStream out =response.getOutputStream(); //用html技术中meta标签模拟了一个http响应头,来控制浏览器的行为 out.write("<meta http-equiv='content-type' content='text/html;charset=UTF-8'>".getBytes()); out.write(data.getBytes("UTF-8")); out.write((1+"").getBytes());//这样写1才会出来 } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request,response); } }