作用和HttpServletRequest类一样;
每次请求进来,Tomcat服务器都会创建一个Response对象传递给Servlet程序去使用;
HttpServletRequest表示所有响应的信息,如果要设置返回给客户端信息,都可以通过HttpServletResponse对象来进行设置。

通过流传给客户端

两个流

字节流 getOutStream();
字符流 getWriter();
两个流不能同时使用

往客户端回传数据

字符串数据

  1. public class RespServlet extends HttpServlet {
  2. @Override
  3. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  4. //往客户端回传数据
  5. PrintWriter writer = resp.getWriter();
  6. writer.write("response content!");
  7. }
  8. }

解决响应中文字符编码异常

注:更简单的办法:同时设置服务器和客户端使用UTF-8编码,还设置了响应头

resp.setContentType(“text/html;charset=UTF-8”);

方法也是要在获取流对象之前调用

  1. public class RespServlet extends HttpServlet {
  2. @Override
  3. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  4. System.out.println(resp.getCharacterEncoding()); //默认IOS-8859-1(不支持中文)
  5. //设置服务器字符集为UTF-8 - 但是浏览器不是
  6. resp.setCharacterEncoding("UTF-8");
  7. //通过响应头,设置浏览器字符集为UTF-8
  8. resp.setHeader("Content-Type","text/html;charset=UTF-8");
  9. //往客户端回传数据
  10. PrintWriter writer = resp.getWriter();
  11. writer.write("王一博!");
  12. }
  13. }