作用和HttpServletRequest类一样;
每次请求进来,Tomcat服务器都会创建一个Response对象传递给Servlet程序去使用;
HttpServletRequest表示所有响应的信息,如果要设置返回给客户端信息,都可以通过HttpServletResponse对象来进行设置。
通过流传给客户端
两个流
字节流 getOutStream();
字符流 getWriter();
两个流不能同时使用
往客户端回传数据
字符串数据
public class RespServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//往客户端回传数据
PrintWriter writer = resp.getWriter();
writer.write("response content!");
}
}
解决响应中文字符编码异常
注:更简单的办法:同时设置服务器和客户端使用UTF-8编码,还设置了响应头
resp.setContentType(“text/html;charset=UTF-8”);
方法也是要在获取流对象之前调用
public class RespServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println(resp.getCharacterEncoding()); //默认IOS-8859-1(不支持中文)
//设置服务器字符集为UTF-8 - 但是浏览器不是
resp.setCharacterEncoding("UTF-8");
//通过响应头,设置浏览器字符集为UTF-8
resp.setHeader("Content-Type","text/html;charset=UTF-8");
//往客户端回传数据
PrintWriter writer = resp.getWriter();
writer.write("王一博!");
}
}