JavaWeb学习——HttpServletResponse类

1、HttpServletResponse类的作用

HttpServletResponse类和HttpServletRequest类一样。每次请求进来,Tomcat服务器都会创建一个response对象传递给Servlet程序去使用。HttpServletRequest表示请求过来的信息,HttpServletResponse表示所有响应的信息。

如果需要设置返回给客户端的信息,都可以通过HttpServletResponse对象来进行设置

2、两个输出流的说明

字节流 getOutputStream(); 常用于下载(传递二进制数据)

字符流 getWriter(); 常用于返回字符串(常用)

注意:两个流同时只能使用一个。

3、往客户端回传数据

往客户端回传数据(字符串)

PrintWriter writer = resp.getWriter(); writer.write("responses 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"); //可以访问工程外的资源
经验分享 程序员 微信小程序 职场和发展