要想将字符数据写回到浏览器,我们需要两个步骤:

  • 通过Response对象获取字符输出流: PrintWriter writer = resp.getWriter();
  • 通过字符输出流写数据: writer.write(“aaa”);

接下来,我们实现通过些案例把响应字符数据给实际应用下:

1. 返回一个简单的字符串aaa

  1. /**
  2. * 响应字符数据:设置字符数据的响应体
  3. */
  4. @WebServlet("/resp3")
  5. public class ResponseDemo3 extends HttpServlet {
  6. @Override
  7. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  8. response.setContentType("text/html;charset=utf-8");
  9. //1. 获取字符输出流
  10. PrintWriter writer = response.getWriter();
  11. writer.write("aaa");
  12. }
  13. @Override
  14. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  15. this.doGet(request, response);
  16. }
  17. }

1628863905362.png

2.返回一串html字符串,并且能被浏览器解析

PrintWriter writer = response.getWriter();
//content-type,告诉浏览器返回的数据类型是HTML类型数据,这样浏览器才会解析HTML标签
response.setHeader(“content-type”,”text/html”);
writer.write(“

aaa

“);
==注意:==一次请求响应结束后,response对象就会被销毁掉,所以不要手动关闭流。
1628864140820.png

3. 返回一个中文的字符串你好,需要注意设置响应数据的编码为utf-8

//设置响应的数据格式及数据的编码
response.setContentType(“text/html;charset=utf-8”);
writer.write(“你好”);1628864390263.png