0
点赞
收藏
分享

微信扫一扫

Servlet-Response对象

三次方 2022-04-14 阅读 69
后端java

一、Response对象的API

  • 关于响应行的方法:常用setStatus()方法,设置状态码。
  • 关于响应头的方法:常用setHeader()、addHeader()方法,设置响应头中的键值对,后者追加值。
  • 关于响应体的方法:常用getWriter()、getOutputStream()方法,前者为字符流,后者为字节流。
  • 其他方法:常用sendRedirect()、setContentType()、setCharacterEncoding()、addCookie()方法,分别用于重定向、设置浏览器接收数据时采用的字符集、设置响应体采用的字符集、给浏览器回传Cookie。

二、Response对象响应的中文乱码处理
(1)处理字节流的中文乱码

public class MyServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        ServletOutputStream outputStream = resp.getOutputStream();
        //设置浏览器接收数据时采用的字符集
        resp.setHeader("Content-Type", "text/html;charset=UTF-8");
        //设置中文转成字节数组时的编码
        outputStream.write("你好啊".getBytes("UTF-8"));
    }
}

在这里插入图片描述
(2)处理字符流的中文乱码

public class MyServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //只需设置浏览器接收数据时采用的字符集
        resp.setContentType("text/html;charset=UTF-8");
        PrintWriter writer = resp.getWriter();
        writer.print("你好啊");
    }
}

在这里插入图片描述

举报

相关推荐

0 条评论