Servlet-Response响应字符数据

Servlet-Response响应字符数据

使用:

  1. 通过Response对象获取字符输出流
    1. PrintWriter writer = resp.getWriter();
  2. 写数据
    1. writer.write("aaa");

Content-Type 与编码

输出 HTML/JSON/文本时,建议直接设置:

resp.setContentType("text/html;charset=utf-8");

如果要输出 JSON:

resp.setContentType("application/json;charset=utf-8");

通常把 setContentType 放在 getWriter() 之前更稳妥,避免字符集被默认值锁定。

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        resp.setContentType("text/html;charset=utf-8");
        PrintWriter writer = resp.getWriter();
        writer.write("aaa");
        writer.write("<h1>aaaa</h1>");

    }

输出中文

@Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html;charset=utf-8");
        PrintWriter writer = resp.getWriter();
        writer.write("你好");
        writer.write("<h1>aaaa</h1>");

    }

小结

关联:Servlet-响应数据 / Ajax / MVC模式