Request和Response
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思想)
响应处理结果
- HttpServletResponse.sendRedirect方法实现的请求重定向与RequestDispatcher.forward方法实现的请求转发的总结比较
- 使用拦截器获取HttpServletResponse 对象,HttpServletRequest对象
- request response 等对象的常见方法
- ASP内置对象—Request、Response 、Server、Application 、ObjectContent (二)
- ThreadLocal对request和response的使用
- 南哥带你学 Java 之 JavaEE 设置全局配置、请求转发、请求重定向、HttpServletResponse 和 HttpServletRequest
- Spring 注解学习手札(七) 补遗——@ResponseBody,@RequestBody,@PathVariable
- JSP(1)jsp简介、文件结构、加载过程、常用内置对象(out request Response等)
- c# HttpWebRequest 和HttpWebResponse 登录网站或论坛(校内网登陆)
- <Web> request 转发 && response 重定向
- C#利用HttpWebRequest,Stream,HttpWebResponse,StreamReader获取post返回的数据
- response.sendRedirect & request.getRequestDispatcher(path).forward(request, response);
- struts2中的request,response,session
- HttpServletRequest 和 HttpServletResponse 对象
- Scrapy 框架实战--Request/Response、Mongodb、Middlewares
- Ext中request和response的格式
- jsp 内置对象response,request,session 以及 cookie 对象的综合例子 和 include指令
- Servlet JSP 之间的跳转 response.sendRedirect()和RequestDispatcher().forward的比较
- NodeJS http.ClientRequest & http.ClientResponse
- Maven项目下HttpServletRequest 或 HttpServletResponse需引用的依赖包