HttpServletResponse类的作用:
HttpServletResponse类和HttpServletReguest类一样。每次请求进来,Tomcat服务器都会创建一个Response对象传递给Servlet程序去使用。HttpServletRequest表示请求过来的信息,HttpServletResponse表示所有的响应的信息。
如果我们需要设置返回给客户端的信息,都可以通过HttpServletResponse对象来设置。
两个输出流的说明:
字节流:getOutputStream(); 常用于下载
字符流:getWriter(); 常用于回传字符串
两个流只能同时使用一个。
使用字节流,就不能使用字符流,反之亦然,否则就会报错
解决响应的中文乱码:
public class ResponseIOServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// //设置服务器字符集编码为UTF-8
// resp.setCharacterEncoding("UTF-8");
// //通过响应头,设置浏览器也使用UTF-8字符集
// resp.setHeader("Content-TYPE","text/html;charset=UTF-8");
//同时设置服务器和客户端都使用UTF-8字符集,还设置了响应头
//此方法一定要在获取流对象之前调用才有效
resp.setContentType("text/html;charset=UTF-8");
PrintWriter writer=resp.getWriter();
writer.println("一样");
}
}
请求重定向
请求重定向是指:客户端给服务器发请求,然后服务器告诉客户端说,我给你一些地址,你去新地址访问,叫请求重定向(因为之前的地址可能被废弃)
- 浏览器地址栏会发生变化
- 两次请求
- 不共享Request域中的数据
- 不能访问WEB-INF下的资源
- 可以访问工程以外的资源