response是HttpServletResponse的实例,代表服务器对客户端的响应。
response常用的应用:
1.生成非字符响应(图片,文档。out是jspWriter的实例是字符流)
response.getOutputStream()
实例:验证码
public class CheckCode extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
this.doPost(req, resp);
}@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
ServletContext sc = this.getServletContext();
HttpSession session = req.getSession();
resp.setContentType("image/jpeg");
Random r = new Random();
String i = String.valueOf(r.nextInt(10000));
BufferedImage image = new BufferedImage(50, 20, BufferedImage.TYPE_INT_RGB);
Graphics g = image.getGraphics();
g.fillRect(0, 0, 50, 20);
g.setColor(new Color(0,0,0));
//g.setColor(new Color(255,0,0));
g.setFont(new Font("Arial Black", Font.PLAIN, 15));
g.drawString(i, 10, 13);
g.dispose();
ImageIO.write(image, "jpg", resp.getOutputStream());
session.setAttribute("checkCode", i);
}
}
2.sendRedirect重定向
response.sendRedirct();
3.向客户端增加cookie
response.addCookie()
request.getCookies()