Request

request对象就是用来获取请求数据的对象

继承体系: Request_第1张图片

 request获取的请求数据由三部分组成:请求头,请求行,请求体

Request_第2张图片

Request_第3张图片

请求体只有post请求才有请求体,可以使用输入流读取对应的数据

Request_第4张图片

因为不同的doXxx方法,获取请求参数的方式不同,实现起来需要定义不同的逻辑,比较繁琐,所以采用了一种如下通用的参数获取方式

使用低于Tomcat8版本来获取请求数据时,如果数据是中文数据,会出现乱码现象

post方法获取请求数据时,字符输入流的编码是ISO,所以要换成utf8,与浏览器页面对应

get方法获取请求数据时,因为使用的是getQueryString,并没有使用输入流,所以无法设置字节编码方式,则可以使用URL编码

Request_第5张图片

这时要把对应的字符串转化成字节数组(getBytes),然后再构造(new String)成新的字符串(UTF8)

Request_第6张图片

---------------------------------

Request请求转发,即再服务器内部的资源跳转方式,资源a处理一部分请求,然后跳转到资源b继续处理,处理全部完成后再返回给浏览器

Request_第7张图片Request_第8张图片

请求转发特点:

浏览器地址栏路径不发生变化

只能转发到当前服务器内部的资源

一次请求,可以在转发的资源间使用request共享数据

你可能感兴趣的:(java,开发语言)