Request对象:
服务器在接收到请求后,会给此次请求创建一个request对象,此对象中封存了此次请求相关的数据。
作用:存储请求数据
注意:每次请求都会创建新的request对象存储请求数据
特点:
- request对象由服务器创建
- 一次请求创建一个request对象
- 生命周期为一次请求内,请求结束即销毁此次请求的request对象
请求行-请求方式 请求URL 协议
- getMethod() 返回请求方式
- getRequestUrl() 返回请求url
- getRequsetUri() 返回请求uri
- getQueryString() 返回get请求中的url中的用户数据(post请求中没有此方法)
- getSchema() 返回协议
请求头
- getHeader(String name) 根据键名获取请求头信息(如果请求头信息name不存在则返回null)
- getHeaderNames() 返回存储了请求头键名的枚举集合
- getRemoteAddr() 获取客户端的IP地址
- getRemotePort() 获取客户端端口号
- getLocalAddr() 获取服务器的IP地址
- getLocalPort() 获取服务器端口号
请求实体
- getParameter(String name) 根据键名获取数据(键名就是前端页面中的表单标签的name属性的值或者其他前端页面其他方式提交数据的键的名字,如果请求中没有对应的请求数据,则返回null)
- getParameterValues(String name) 根据键名获取同名不同的值,返回数组(如果没有对应的键名,则返回null)
- getParameterNames() 返回实体数据中键名的枚举
Response对象
注意:一旦使用resp对象作出了请求响应,则意味着此次请求处理完毕。服务器在响应后会将此次请求相关的req对象和resp对象销毁。
设置响应行-协议、状态吗、状态信息
resp.sendError(int status) 自定义异常,可以自动响应状态给浏览器
设置响应头
可以先添加再设置,也可以直接设置;二次添加不会覆盖,二次设置会覆盖;
resp.addHeader(ObjectName,value) 添加响应头信息
resp.setHeader(ObjectName,value) 设置响应头,注意是否有对应的请求头
设置响应实体-处理结果(核心)
resp.getWriter().write("实体内容")
注意:实体内容可以分开响应