目录
1、HttpServletResponse类的作用
HttpServletResponse类和HttpServletRequest类一样。每次请求进来,Tomcat服务器都会创建一个response对象传递给Servlet程序去使用。HttpServletRequest表示请求过来的信息,HttpServletResponse表示所有响应的信息。
如果需要设置返回给客户端的信息,都可以通过HttpServletResponse对象来进行设置
2、两个输出流的说明
字节流 getOutputStream(); 常用于下载(传递二进制数据)
字符流 getWriter(); 常用于返回字符串(常用)
注意:两个流同时只能使用一个。
3、往客户端回传数据
往客户端回传数据(字符串)
PrintWriter writer = resp.getWriter(); writer.write("response's content");
4、响应的乱码解决
①解决响应中文乱码方案一(不推荐使用):
//设置服务器字符集 resp.setCharacterEncoding("UTF-8"); //通过相应头,设置浏览器也是用utf-8字符集 resp.setHeader("Content-Type","text/html;charest=UTF-8");
②解决响应中文乱码方案二(推荐使用):
// 同时设置服务器和客户端都是用UTF-8字符集,还设置了响应头 // 此方法一定要在获取流对象之前调用才可以 resp.setContentType("text/html;charest=UTF-8");
5、请求重定向
请求重定向:是指客户端给服务器发送请求,然后服务器给客户端一些地址,让客户端去新地址访问。(因为之前的地址可能已经被废弃)
请求重定向的特点:①浏览器的地址会发生变化
②两次请求
③不共享Request域中的数据(每次请求的信息封装到每个新的request域中)
④不能访问WEB-INF下的资源
⑤可以访问工程外的资源
(1)请求重定向的第一种方案:
// 设置响应状态码302,表示重定向 resp.setStatus(302); // 设置响应头,说明新的地址在哪里 resp.setHeader("Location","http://localhost:8080/07_demo_war_exploded/response2");
(2)请求重定向的第二种方案(推荐使用):
resp.sendRedirect("https://www.baidu.com"); //可以访问工程外的资源