Bootstrap

request和response的区别与应用

目录

什么是request和response

request对象

(一). request请求行

(二). request请求头

(三). request请求参数

(四). request请求转发

response对象

(一). response输出响应数据

(二). response重定向

(三). response定时刷新

req请求转发和resp重定向的区别:


什么是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 自动完成数据类型的转换

;