>负责返回数据给客户端
>输出数据到页面上
//以字符流的方式写数据 response.getWriter().write("<h1>hello response</h1>"); //以字节流的方式写数据 response.getOutputStream().write("hello2 response".getBytes());>响应的数据中有中文,那么有可能出现中文乱码
>以字符流输出 response.getWriter()
//写出去的文字,默认使用的是ISO-8859-1,可以指定写出去的时候,使用什么编码 //1、指定输出到客户端的时候,这些文字使用utf-8 response.setCharacterEncoding("UTF-8"); //2、直接指定浏览器看着份数据的时候,使用什么编码 response.setHeader("Content-Type", "text/html;charset=UTF-8"); response.getWriter().write("我爱中国!");>以字节流输出 response.getOutputStream()
1、直接指定浏览器看这份数据的时候,使用什么编码 response.setHeader("Content-Type", "text/html;charset=UTF-8"); //2、指定输出用的编码 response.getOutputStream().write("我爱中国!".getBytes());默认情况下,getOutputStream输出使用的是UTF-8编码(可以看源码),如果想指定具体的编码,可以在获取byte数组的时候指定
String csn = Charset.defaultCharset().name(); System.out.println("默认的String里面的getBytes方法使用的是:" + csn); 输出:默认的String里面的getBytes方法使用的是:UTF-8不管是字节流还是字符流,直接使用一行代码就可以了。
response.setContentType("text/html;charset=UTF-8");然后在写数据即可。