您的位置:首页 > 产品设计 > UI/UE

Request和Response

2019-07-16 22:17 1591 查看

Request对象:

问题:

浏览器发送到服务器,会遵循HTTP协议将请求数据发送给服务器。那么服务器接受到请求的数据怎么存储呢?不但要存,而且要保证完整性。
解决:使用对象进行存储,服务器每接受一个请求,就创建一个对象专门存储此次请求的请求数据。

实现:

request对象,服务器收到浏览器的请求后,会创建一个request对象,对象存储了此次请求相关的请求数据。服务器根据你请求地址utl,开始调对应的Servlet和service方法处理你此次请求,在调用Servlet时会将创建的request对象作为实参传递给Servlet的方法,比如: service方法。

使用:

Request对象中封存了当前请求的所有信息
Request对象是由Tomcat服务器创建,并作为实参传递给处理请求的Servlet的service方法。

获取请求头数据:

获取请求方式: req.getMethod()
获取请求url: req. getRequestURL()返回StringBuffer数组。
获取uri: req.getRequestURI()
获取协议: req. getScheme()

获取请求行数据:

获取指定的请求行信息:
req. get Header(“键名”)
获取所有的请求行的键名的枚举集合: req.getHeaderNames()

获取用户数据:

根据键名找值:req. getParameter(“name”)
  如果你获取的数据不存在拿的是null,后台获取数据写的键名和你提交数据写的键名不一致。换一种说法,后台要获取的数据在提交数据中不存在。
获取同键不同值的请求数据:
  (多选check box) ,返回的数组req.getParameterValues(" hobby")
获取所有用户请求数据的键的枚举集合:
  req. getParameterNames()

Response对象:

问题:

在使用Request对象获取了请求数据并处理后,处理的结果如果显示到浏览器中呢?

解决:

使用Response对象,服务器在调用指定的Servlet进行请求处理的时候,会给Servlet的方法传递两个参数req和resp。其中req用来封存请求相关的请求数据,而resp用来进行响应的一个对象。

作用:

用来响应数据到浏览器的一个对象。

使用:

设置响应头
resp. setHeader(String name, String value)在响应头中添加响应信息,但是同键会覆盖
resp. addHeader( String name, String value)添加,允许重复
设置响应编码格式
resp. setHeder(" content-type"," text/html; charset= UTF-8")
resp. setContentType(" text/html; charset= UTF-8")
resp. setContentType(" text/ plain; charset= UTF-8")
resp. setContentType(" text/ xml; charset= UTF-8")
设置响应状态码
resp. sendError( int num, String msg)自定义响应状态码
resp. sendError(405," this Method is Not supported")
设置响应实体
resp. getWriter().write(“this is resp study”)
resp. getWriter().write( String str)响应具体的数据给浏览器

总结:

service请求处理代码流程:
设置请求编码格式
设置响应编码格式
获取请求数据
处理请求数据
数据库操作(MVC思想)
响应处理结果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐