1.HTTP协议包含请求和响应部分:
HttpServletRequest就代表着请求部分:
代表客户端的请求,客户端通过HTTP访问服务器,HTTP请求头中的所有信息封装在里面,开发人员通过这个对象的方法获得客户信息。
HttpServletResponse就代表着响应部分:
代表服务器响应,HttpServletResponse对象可以向客户端发送三种类型的数据:a.响应头b.状态码c.数据
2.response字符流输出中文数据:(string)
运用:response.getWriter();
response.setContentType("text/html;charset=utf-8");//更改Servlet默认的字符编码,通知浏览器使用utf-8字符编码(用这个就够了)
PrintWriter out = response.getWriter();
out.write("你好!");
3.response字节流输出中文数据:(int)
运用: response.getOutputStream();
ServletOutputStream out1 = response.getOutputStream();
out1.write(s.getBytes());
out1.write(98);
4.response定时刷新:
response.setHeader("Refresh", "2;URL=/04dssxDemo/index.jsp");//2秒刷新到index.jsp
5.response控制缓存:
response.setDateHeader("Expires",System.currrntTimeMillis()+60*60*1000);
response.getWriter().writer("hello");
6.response请求重定向:
//请求重定向
response.setStatus(302);
response.setHeader("Location", "/05kzhcDemo/index.jsp");
<!------------------------------------------------------->
response.sendRedirect("/05kzhcDemo/index.jsp");//作用同上,一般用这个
7.HttpServletResponse细节:
a.字节流和字符流不能同时使用,互斥的。
b.通过字符流或字节流输出的数据并不是直接打给浏览器的。而是把数据写到response对象的缓存中的。服务器从缓存中取出数据,按照HTTP协议的响应格式输出给浏览器。
c.如果你调用的response的输出流没有主动关闭,服务器会替你关的。