request.getParameter()取出request里面的值的时候,会将用URLEncode执行URL编码操作过的值,用URLDecode执行解码操作之后返回。
●客户端通过HTTP的请求操作(request)提交HTML表单数据,指定enctype=“application/x-www-form-urlencoded” 提交数据的时候,该数据会被浏览器用URLEncode执行URL编码操作。
●服务器端通过使用request.getParameter()的方式去取该数据的时候,这时候该数据又会被服务器用URLDecode执行解码操作之后返回。
由于经过了上述处理,所以当我在表单中提交一条URL数据的时候,会经过如下处理流程:
例如:
1.在web浏览器提交的html表单中,指定enctype=“application/x-www-form-urlencoded”
来传递url=https://www.google.com/这样一条url数据
2.浏览器会将上面的url转成下面的形式传递到服务器端。
https%3A%2F%2Fwww.google.com%2F
3.在服务器端使用request.getParameter(“url”)来取该值时,服务器又会将其转成https://www.google.com/的字符串返回。