HTTP协议
定义客户端与服务端数据交互规范
特点
-
基于TCP/IP ,是一种安全的协议
-
基于请求与响应模型
-
默认端口号为80
-
无状态的协议,每次数据传输都要建立连接
请求消息
请求行:请求方法/url/协议版本
请求头:K-V键值对
请求体:携带的数据
请求消息
封装到HttpServletRequest对象中
更改请求体编码格式
方法名 | |
---|---|
req.setCharacterEncoding("utf-8"); | 根据name属性值获取对应value |
resp.setCharacterEncoding("utf-8"); | 响应编码格式 |
获取请求体数据(K-V键值对)
方法名 | |
---|---|
req.getParameter(name) | 根据name属性值获取对应value |
req.getParameterValues(name) | 获取多选框的值 |
req.getParameterMap() | 将请求体中所有K-V键值对取出来 |
//只能获取一个值
req.getParameter("hobby");
//获取多选框(同一个name 有多个值)
String[] hobby = req.getParameterValues("hobby");
for (String string : hobby) {
System.out.println(string);
}
//获取所有参数的K-V键值对(不常用)
Map<String, String[]> parameterMap = req.getParameterMap();
Set<Entry<String, String[]>> entrySet = parameterMap.entrySet();
for (Entry<String, String[]> entry : entrySet) {
System.out.println(entry.getKey());
System.out.println(entry.getValue());
}
获取请求行数据
方法名 | 作用 |
---|---|
getMethod() | 获取请求方式 (POST) |
getContextPath() | 获取虚拟路径(/文件 |