一. HttpServletResponse的作用
1. HttpServletResponse返回数据给客户端。
2. HttpServletResponse的getWriter()方法, 向客户端输出字符流。
3. HttpServletResponse的getOutputStream()方法, 向客户端输出字节流。
二. 新建一个Web工程向客户端输出字符流和字节流
1. 新建一个UseHttpServletResponse的Web工程
2. 新建GetWriter.java和GetOutputStream.java向客户端输出字节流和字符流
3. 编写GetWriter.java
package com.lywgames.myservlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class GetWriter extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
StringBuilder sb = new StringBuilder();
sb.append("<!DOCTYPE html>").append("\r\n");
sb.append("<html>").append("\r\n");
sb.append("<head>").append("\r\n");
sb.append("<meta charset='UTF-8' />").append("\r\n");
sb.append("<title>HttpServletResponse GetWriter</title>").append("\r\n");
sb.append("</head>").append("\r\n");
sb.append("<body>").append("\r\n");
sb.append("<h1>HttpServletResponse GetWriter</h1>").append("\r\n");
sb.append("</body>").append("\r\n");
sb.append("</html>");
// HttpServletResponse的getWriter()方法, 向客户端输出字符流
resp.getWriter().println(sb.toString());
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
4. 编写GetOutputStream.java
package com.lywgames.myservlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class GetOutputStream extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
StringBuilder sb = new StringBuilder();
sb.append("<!DOCTYPE html>").append("\r\n");
sb.append("<html>").append("\r\n");
sb.append("<head>").append("\r\n");
sb.append("<meta charset='UTF-8' />").append("\r\n");
sb.append("<title>HttpServletResponse GetOutputStream</title>").append("\r\n");
sb.append("</head>").append("\r\n");
sb.append("<body>").append("\r\n");
sb.append("<h1>HttpServletResponse GetOutputStream</h1>").append("\r\n");
sb.append("</body>").append("\r\n");
sb.append("</html>");
// HttpServletResponse的getOutputStream()方法, 向客户端输出字节流
resp.getOutputStream().write(sb.toString().getBytes());
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
5. 编写web.xml
6. 部署运行
6.1. 向客户端输出字符流
6.2. 向客户端输出字节流