request

Posted 薛文博

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了request相关的知识,希望对你有一定的参考价值。

 作用:

接收客户端的请求数据

  组成部分:

请求行

请求头

请求体

1 操作请求行

格式:

请求方式 请求的路径 协议/版本    GET /day15/ HTTP/1.1

常用方法:

重要的方法

(掌握)String getMethod():获取请求方式

(掌握)String getContextPath():获取当前项目的项目名   /day15

(掌握)String getRemoteAddr():获取请求者的ip地址

(了解)String getProtocol():获取请求协议和版本   

2 操作请求头

格式:

key:value(value可以为多个值)

常用的方法:

(掌握)String getHeader(String key):获取单一的请求头的值

(了解)Enumeration getHeaders(String name) :获取指定头的所有值

常见的请求头:

(掌握)user-agent:获取浏览器的内核信息

(掌握)referer:获取网页来源(若地址是直接在地址栏上敲的 返回的null) 

3 操作请求体(操作请求参数)

存放的是post请求的请求参数

请求体中例如:username=tom&password=123&hobby=eat&hobby=sleep

get方式没有请求体

地址栏中例如:http://localhost:8080/day15/form1.html?username=zhansan&password=123&hobby=eat&hobby=sleep

常用的方法(掌握):

(掌握)String getParameter(String name)---获取的是单一

(掌握)String[] getParameterValues(String name)--获取的是多个数据,返回的是数组

(掌握)Map<String,String[]> getParameterMap();

注意:请求参数的中文乱码 (掌握)

解决的方式:

方式1:通用的方法 针对于get和post请求

new String(数据.getBytes("iso8859-1"),"utf-8");   ---以后超链接后面加中文参数

方式2:只针对于post请求

request.setCharacterEncoding("utf-8");    ----表单(post)用它

通过 URLEncoder的encode(string s,String charset); 通过指定的编码方式编码

通过 URLDecoder的decode(string s,String charset); 通过指定的编码方式解码 

步骤分析:

1.修改register.htm

给表单添加action属性  method属性

给每一个子标签添加name属性

2.表单提交到 RegistServlet

将数据封装成user对象

调用service方法

5.servlet调用service,service调用dao完成注册操作

 

以上是关于request的主要内容,如果未能解决你的问题,请参考以下文章

OkHttp 在 Android 中怎么发送异步请求

android okhttp的使用

第八章

Tomcat中日志组件

OKHttp

OkHttp 常用