3月18日



一、什么是Response 我们开发的软件是B/S结构的软件,      是可以通过浏览器访问服务器的软件。从浏览器输入    一个地址,访问服务器的这个过程称为请求。服务器    接收到请求,需要进行处理,处理以后,还需要将处      理结果发回浏览器端显示,这个过程称为响应(二)Response对象的API一、Response关于响应行的      方法setStatus(int sc)设置响应的状态码200成功302      重定向304查找本地缓存404请求资源不存在500服务      器内部错误二、Response关于响应头的方法setDate      Header(String name, long date)setHeader(String        name, String value)setIntHeader(String name, int      value)set开头的方法用于设置:针对一个key对应一个      value的情况举例:原头信息Content-Type:text/html      调用setHeader("Content-Type","text/html");      最终结果:Content-Type:text/html    addDateHeader(String name, long date)    addHeader(String name, String value)    addIntHeader(String name, int value)    add开头的方法用于追加:针对一个key对应多个value的情况举例:    原头信息Content-Type:text/html调用addHeader("Content-Type","text/plain");    最终结果:Content-Type:text/html,text/plain三、Response关于响应体的方法getOutputStream()

    将二进制字节发送到客户端getWriter()将字符文本发送到客户端用于向浏览器端输出内容四、Response   

  其他的APIaddCookie(Cookie cookie)服务器向浏览器回写Cookie的方法sendRedirect(String location)

    重定向的方法setContentType(String type)设置浏览器打开页面时候采用的字符集setCharacterEncoding 

  (String charset)设置响应字符流的缓冲区的字符集

五、Response对象的API的代码演示

(1)设置状态码 

(2)完成重定向1)重定向:是302状态码和Location响应头结合使用的效果2)实际开发中可以使用response.sendRedirect("/web01/ResponseDemo2");    替换重定向那两句的写法

一、使用字节流响应中文 

  1、编写代码     

2、向页面输出中文是否会有乱码?不一定! 

    3、原因:其实这个乱码的产生,与中文转成字节数组,以及浏览器的打开方式(打开的时候采用的默认字符集)有关   

4、解决:将中文转成字节数组的时候,和浏览器默认打开的时候采用的字符集一致即可 

  二、使用字符流响应中文   

    1、编写代码   

  2、向页面输出中文是否会有乱码?一定乱码   

    3、原因:字符流是有缓冲区的,Response获得字符流,老外设计默认的缓冲区编码是ISO-8859-1,这个字符集不支持中文     

  4、解决:设置Response获得字符流缓冲区的编码,和设置浏览器默认打开时采用的字符集一致即可

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容