本节重点

1. 总结1 整理下servlet传递参数方法,根据HTTP Method主要分为两种:

1)第一种 get方法

get方法的参数放置在HTT报文的请求行的URL字段,格式为key-value键值对。

2)第二种 POST方法

有了get为什么还要引入post方法, 当我们想要传递秘密的数据时,使用get会将这些数据显示到地址栏,显然不合适,所以,引入了post方法。POST方法的参数都放置在HTTP报文的中。根据不同内容格式,分为:

  • Form表单,参数是key-value,对于post form数据和get参数,HttpServletRequest 中存放,如
  • Json格式,参数类型为json形式。如
  • 其他格式,如参数类型还可以为xml类型,此时内容为

2. 总结2 从服务器端和客户端两种角度进行编程

1 服务器端角度

服务器端接受用户端传来参数和返回给客户端结果。

1.1 Request参数在HTTP报文中位置

HTTP请求报文由请求行、请求头部、空行和请求数据4个部分组成。如下图

1

有了get为什么还要引入post方法, 当我们想要传递秘密的数据时,使用get会将这些数据显示到地址栏,显然不合适,所以,引入了post方法。

1. get方法的参数

是放置在报文HeaderURL

2

2. POST 表单参数

POST的参数都是放置在Request Body中。如下图

3

POST方法,根据在RequestBody中数据格式分为:

1POST表单的数据,

对应表单参数都是以<key,value>的键值对方式。且获取的都是字符串格式为键值对,如上图中参数的格式为:

h1=zh-CN&source=hp&1=domety

2POSTJSON数据参数

数据格式为json格式字符串。

3)其他

xml,此时RequestBody中的参数格式就是XML格式。

1.2 获取请求中参数

1. 获取post方法的json参数代码为

然后,可以通过JSONOBject中来解析。

2. getpost方法非json数据公用的方法

返回值都是String字符串,如果想要的是数字型、布尔型,自己进行转换。

3. get方法

4. post 表单方法

1.3 使用HttpServletResponse返回数据

json格式为例:

2 从客户端进行操作

看成是一个浏览器客户端,发送请求和接受请求

2.1 构造一个请求

本小节内容为:使用HttpPostHttpGet对象

1. 使用HttpPost构造一个Post方法的Json类型参数的请求的代码如下

2. 使用HttpPost构造一个Post方法的非Json类型参数

对于form表单形式的参数,代码如下

3. 使用HttpGet构造一个Get方法请求

如上的都是针对HttpPost,即都是Post的请求方法,如果此时方法是Get类型的就需要构造一个HttpGet,设置参数方法是在HttpGetURI中将参数以”key=value&key=value”拼接到此uri后面

2.2 使用HttpResponse接受一个请求的数据

 

(全文完)

 

分类&标签

发表评论

电子邮件地址不会被公开。 必填项已用*标注