• HttpServletResponse 类


    a)HttpServletResponse 类的作用

    HttpServletResponse 类和 HttpServletRequest 类一样。每次请求进来,Tomcat 服务器都会创建一个 Response 对象传 递给 Servlet 程序去使用。HttpServletRequest 表示请求过来的信息,HttpServletResponse 表示所有响应的信息,

    我们如果需要设置返回给客户端的信息,都可以通过 HttpServletResponse 对象来进行设置

    b)两个输出流的说明。 

    字节流 getOutputStream(); 常用于下载(传递二进制数据)
    字符流 getWriter(); 常用于回传字符串(常用)
    两个流同时只能使用一个。
    使用了字节流,就不能再使用字符流,反之亦然,否则就会报错。

     

    c)如何往客户端回传数据 

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

    d)响应的乱码解决

    解决响应中文乱码方案一(不推荐使用):

    1. // 设置服务器字符集为 UTF-8
    2. resp.setCharacterEncoding("UTF-8");
    3. // 通过响应头,设置浏览器也使用 UTF-8 字符集
    4. resp.setHeader("Content-Type", "text/html; charset=UTF-8");

    解决响应中文乱码方案二(推荐): 

    1. // 它会同时设置服务器和客户端都使用 UTF-8 字符集,还设置了响应头
    2. // 此方法一定要在获取流对象之前调用才有效
    3. resp.setContentType("text/html; charset=UTF-8");

    e)请求重定向 

    请求重定向,是指客户端给服务器发请求,然后服务器告诉客户端说。我给你一些地址。你去新地址访问。叫请求 重定向(因为之前的地址可能已经被废弃)

     请求重定向的第一种方案:

     

    1. // 设置响应状态码 302 ,表示重定向,(已搬迁)
    2. resp.setStatus(302);
    3. // 设置响应头,说明 新的地址在哪里
    4. resp.setHeader("Location", "http://localhost:8080");

    请求重定向的第二种方案(推荐使用): 

    resp.sendRedirect("http://localhost:8080");

  • 相关阅读:
    酷家乐基于 Crane EHPA 的弹性落地实践
    文本处理技巧,Excel或csv转json
    vue3路由跳转时,页面如何滚动到顶部
    JMETER与它的组件们
    【华为机试真题 Python】按身高和体重排队
    【scala】阶段性练习
    软件测试面试中90%会遇到的问题:“你会搭建测试环境吗?”
    设计模式之【职责链模式】
    Anaconda下载和安装
    【ppt技巧】将幻灯片里的图片背景设置为透明
  • 原文地址:https://blog.csdn.net/m0_62436868/article/details/127456845