HttpServletResponse

xiaoxiao2022-06-11  77

HttpServletResponse

>负责返回数据给客户端

>输出数据到页面上

//以字符流的方式写数据 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");

然后在写数据即可。

转载请注明原文地址: https://www.6miu.com/read-4930346.html

最新回复(0)