2020-03-18

Response&Request

(一)Response对象的概述

一、什么是Response

    我们开发的软件是B/S结构的软件,是可以通过浏览器访问服务器的软件。从浏览器输入一个地址,访问服务器的这个过程称为请求。服务器接收到请求,需要进行处理,处理以后,还需要将处理结果发回浏览器端显示,这个过程称为响应

(二)Response对象的API

一、Response关于响应行的方法

    setStatus(int sc)

    设置响应的状态码

        200成功

        302重定向

        304查找本地缓存

        404请求资源不存在

        500服务器内部错误

二、Response关于响应头的方法

    setDateHeader(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其他的API

    addCookie(Cookie cookie)

    服务器向浏览器回写Cookie的方法

    sendRedirect(String location)

    重定向的方法

    setContentType(String type)

    设置浏览器打开页面时候采用的字符集

    setCharacterEncoding(String charset)

    设置响应字符流的缓冲区的字符集

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

(1)设置状态码

(2)完成重定向

1)重定向:是302状态码和Location响应头结合使用的效果

2)实际开发中可以使用response.sendRedirect("/web01/ResponseDemo2");替换重定向那两句的写法

(3)完成定时刷新效果

六、页面定时跳转的扩展

(1)使用JS完成读秒的效果

(2)在HTML中完成页面跳转

使用JS完成读秒效果

(三)Response对象响应的中文乱码处理

一、使用字节流响应中文

1、编写代码

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

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

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

二、使用字符流响应中文

1、编写代码

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

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

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

(四)Request对象的概述及API的介绍

一、Request对象的概述

什么是Request对象

我们开发的软件都是B/S架构的软件,从浏览器向服务器提交一些数据时,将这些数据内容进行封装,封装成一个请求对象,即Request对象

二、Request对象的API

1、获得客户端的信息

getMethod()    获得请求的方式

getQueryString()    获得查询字符串的(即请求路径后的提交参数字符串)

getRequestURI()    获得请求路径的URI

getRequestURL()    获得请求路径的URL

getRemoteAddr()    获得客户端的IP地址

2、获得请求头的方法

getHeader    获得一个Key对应一个Value的请求头

getHeaders    获得一个Key对应多个Value的请求头

3、获得请求参数的方法

getParameter    获得提交的参数(一个name对应一个value)

getParameterValues    获得提交的参数(一个name对应多个value)

getParameterMap()    获得提交的参数,将提交的参数名称和对应的值存入到一个Map集合中

4、Request作为域对象存取数据的方法

setAttribute    向Request域中存数据

getAttribute    从Request域中取数据

removeAttribute    从Request域中移除数据

三、Request对象的API的代码演示

1、Request对象获取客户端信息

2、Request获得请求头的信息

四、Request对象接收表单请求参数

1、编写一个静态页面

2、接收请求参数

3、Request对象接收表单请求参数的中文乱码处理

    POST方式接收中文

    GET方式接收中文

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容

  • Response&Request (一)Response对象的概述 一、什么是Response 我们开发的软件...
    你养猪吗阅读 159评论 0 0
  • Response&Request (一)Response对象的概述 一、什么是Response 我们开发的软件...
    小汤源O阅读 110评论 0 0
  • 什么是Response 我们开发的软件是B/S结构的软件,是可以通过浏览器访问服务器的软件。从浏览器输入一个地...
    Key_L阅读 140评论 0 0
  • 作业: (一)Response对象的概述 一、什么是Response我们开发的软件是B/S结构的软件,是可以通过浏...
    常樂_b00d阅读 190评论 0 0
  • 关联属性的相关方法及优缺点 方法1 在分类中定义全局参数接收。 通过赋值打印,可以得出理想结果。但是,如果其他对象...
    GY1994阅读 556评论 0 1