目录
什么是request和response
当访问http协议, 会针对每次访问, 创建代表请求的request对象和代表响应的response对象
请求和响应是http协议的基本组成:
请求的组成: 请求行、请求头、请求体(get只有请求参数)
响应的组成: 响应行、响应头、响应体
创建一个类继承HttpServlet, 重写service方法, 就能获得http的一个请求对象和一个响应对象
request对象
(一). request请求行
获取请求行中的内容:
获取应用发布名称 req.getContextPath()
获取请求方法 req.getMethod()
获取请求协议 req.getProtocol()
获取访问者ip req.getRemoteHost()
获取访问者端口号 req.getRemotePort()
获取本地ip req.getLocalAddr()
获取本地端口号 req.getLocalPort()
(二). request请求头
req.getHeader("消息头名") 返回 消息头对应值
req.getHeaderNames() 返回枚举类型字符串
-----------------------
(三). request请求参数
根据参数名称获取值 name:value
一对一 req.getParameter("name名") 返回String类型值
一对多 req.getParameterValues() 返回String类型数组
req.getParameterNames() 返回枚举类型的数组
req.getParameterMap() 返回Map<String, String[]> 映射
注意:
1.乱码问题: 请求参数前设置字符集 req.setCharacterEncoding("UTF-8")
2.数据类型:请求参数返回的数据都是String类型 需要自己转换
请求参数的返回和类的映射(BeanUtils)
1.获取参数的映射
2.创建类对象
3.BeanUtil.populate(类对象, 映射)
注意:
参数的name属性 必须和 类的成员变量一致
使用BeanUtils 自动完成数据类型的转换