HttpServletResponse 类

举报
yd_249383650 发表于 2023/03/18 22:31:59 2023/03/18
【摘要】 ​ a)HttpServletResponse 类的作用HttpServletResponse 类和 HttpServletRequest 类一样。每次请求进来,Tomcat 服务器都会创建一个 Response 对象传 递给 Servlet 程序去使用。HttpServletRequest 表示请求过来的信息,HttpServletResponse 表示所有响应的信息, 我们如果需要设置返...

​

 a)HttpServletResponse 类的作用

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

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

b)两个输出流的说明。 

字节流 getOutputStream(); 常用于下载(传递二进制数据)
字符流 getWriter(); 常用于回传字符串(常用)
两个流同时只能使用一个。
使用了字节流,就不能再使用字符流,反之亦然,否则就会报错。

​编辑

c)如何往客户端回传数据 

public class ResponseIOServlet extends HttpServlet {

@Override

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException,
IOException {

// 要求 : 往客户端回传 字符串 数据。

PrintWriter writer = resp.getWriter();
writer.write("response's content!!!");
}
}

d)响应的乱码解决

解决响应中文乱码方案一(不推荐使用):

// 设置服务器字符集为 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");

e)请求重定向 

请求重定向,是指客户端给服务器发请求,然后服务器告诉客户端说。我给你一些地址。你去新地址访问。叫请求 重定向(因为之前的地址可能已经被废弃)

​编辑

 请求重定向的第一种方案:

 

// 设置响应状态码 302 ,表示重定向,(已搬迁)

resp.setStatus(302);

// 设置响应头,说明 新的地址在哪里

resp.setHeader("Location", "http://localhost:8080");

请求重定向的第二种方案(推荐使用): 

resp.sendRedirect("http://localhost:8080");


​

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。