14_Response对象
【简述】
Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象和代表响应的response对象。
request和response对象既然代表请求和响应,
我们要获取客户端提交过来的数据,只需要找request对象,
我们要向客户端输出数据,只需要找response对象。
【HttpServletResponse】
HttpServletResponse对象服务器的响应,这个对象中封装了向客户端发送的数据、发送响应头、发送响应状态码的方法。
【response字符编码问题】
1.设置response使用的码表,以控制response以什么编码向浏览器写出数据。
response.setCharacterEncoding("UTF-8");
2.指定浏览器以什么码表打开服务器发送的数据 (两种方式)
response.setHeader("Content-type","text/html;charset=UTF-8"); //或者 response.setContentType("text/html;charset=UTF-8");
[ 提示 ]使用HTML语言中的<meta>标签也可以来控制浏览器的行为!如下
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
【response 缓存】
[ 1.response设置浏览器不缓存 ]
response.setDateHeader("expires", -1); response.setHeader("Cache-Control", "no-cached"); response.setHeader("Pragma", "no-cached");
[ 2.response设置浏览器缓存一定时间 ]
response.setDateHeader("expires", System.currentTimeMillis()+3600*1000); //当前时间+1h
【response设置请求重定向】
response.sendRedirect("/aaa/bbb.jsp")
[ 关于重定向的特点 ]
1.浏览器会想服务器发送两次请求,意味着有两个request和两个response
2.用重定向技术,浏览器的地址栏会发生变化
一般来说,用户登录和显示购物车时,会使用重定向技术。