Servlet Response对象
一.响应数据
1.getWrite():字符流
//页面中输出 //获取字符输出流 PrintWriter write = response.getWriter(); //输出数据 write.write("Hello");
2.getOutputStream():字节流
//通过字节流 ServletOutputStream out = response.getOutputStream(); out.write("Hi".getBytes());//要转成byte类型
3.注意:这两种流不可以同时使用
二、响应乱码问题
1.getWrite()乱码:服务器端在进行编码时候默认编码是 ISO-8859-1,不支持中文
解决:在获取前设置服务端编码格式,但是要注意的是,客户端的编码格式和服务端的编码格式是不一样的,不能只指定一个,所以也要对客户端的编码格式进行设置。
//设置服务端的编码格式 response.setCharacterEncoding("UTF-8"); //设置客户端的编码格式 response.setHeader("content-type","text/html;charset=UTF-8");
也可以用以下一句同时设置服务端和客户端的编码格式
//同时设置服务端和客户端的编码格式的方式 response.setContentType("text/html;charset=UTF-8");
2.getOutputStream()乱码:响应中文的时候,传输的是字节,所以有可能出现乱码,不确定性
解决:
//同时设置服务端和客户端的编码格式的方式 response.setContentType("text/html;charset=UTF-8");
标签:编码,乱码,响应,格式,Servlet,response,服务端,客户端 From: https://www.cnblogs.com/hmy22466/p/16777877.html