response 知识点
Posted xiao-cui-tong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了response 知识点相关的知识,希望对你有一定的参考价值。
HttpServletResponse对象
在Servlet API中,定义了一个HttpServletResponse接口,它继承自ServletResponse接口,专门用来封装HTTP响应消息。由于HTTP响应消息分为状态行、响应消息头、消息体三部分,因此,在HttpServletResponse接口中定义了向客户端发送响应状态码、响应消息头、响应消息体的方法。
Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象、和代表响应的response对象。
Response对象概述
HTTP中响应分成三部分: 响应行 响应头 响应体
响应行: http/1.1 200 ok http协议版本号和响应状态码
setStatus(int sc) 给response设置状态码
响应头:
setHeader(Sting key,String value);
响应体:
getOutputStrean();
getWrite();
注:页面输出只能使用其中的一个流实现,两个流是互斥的.
其他方法:
setStatus(302);
setHeader("location","/url");
//重定向
sendRedirect("/url");
字符流解决乱码:
response.setHeader("Content-Type", "text/html;charset=UTF-8"); 设置浏览器默认打开时候采用的编码.
response.setCharacterEncoding("UTF-8"); 设置服务器采用的编码
response.setContentType("text/html;charset=UTF-8"); 既告知服务器又告知浏览器使用的编码,是以上两种的封装.是解决响应乱码的方法.
response.getWriter().println("哈喽");
字节流解决乱码:
response.setHeader("Content-Type", "text/html;charset=UTF-8"); 设置浏览器默认打开的编码
response.getOutputStream().write("哈喽".getBytes("UTF-8")); 设置中文转成字节数组的编码
以上是关于response 知识点的主要内容,如果未能解决你的问题,请参考以下文章
PHP精讲2021—从Yii2源码Response看web响应考察哪些知识点
PHP精讲2021—从Yii2源码Response看web响应考察哪些知识点
response.sendRedirect()与request.getRequestDispatcher("/index.jsp").forward(request, respon