HttpServletResponse类
1、HttpServletResponse的作用
HttpServletResponse与HttpServletRequest一样,每次请求进来,tomcat服务器都会创建一个Response对象传递给servlet程序去使用,我们如果需要设置返回给客户端的信息,都可以通过HttpServletResponse对象进行设置
HttpServletRequest表示请求过来的信息
HttpServletResponse表示所有响应的信息
2、两个输出流的说明
字节流==>getOutputStream();= =>常用于下载(传递二进制数据)
字符流==>getWriter();= =>常用于回传字符串(常用)
两者不能同时使用,只能选择一个!!!
3、解决响应中文乱码
a)通过响应头修改字符集
resp.setCharacterEncoding("UTF-8");
// 通过响应头,设置浏览器也是用UTF-8字符集
resp.setHeader("Content-Type","text/html;charset=UTF-8");
b)通过setContentType一起设置双方字符集
此方法一定要在获取流对象之前调用才有效
// 他会同时设置服务器和客户端都使用UTF-8字符集,还设置了响应头
resp.setContentType("text/html;charset=UTF-8");
相关代码:
//Response01.java
package servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
public class Response01 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setCharacterEncoding("UTF-8");
// 通过响应头,设置浏览器也是用UTF-8字符集
resp.setHeader("Content-Type","text/html;charset=UTF-8");
// 他会同时设置服务器和客户端都使用UTF-8字符集,还设置了响应头
resp.setContentType("text/html;charset=UTF-8");
PrintWriter writer = resp.getWriter();
writer.write("打印出内容了!!!");
}
}