请选择 进入手机版 | 继续访问电脑版
本站特色:极好的技术研究氛围!所有技术发帖,必有回复! 做最受欢迎的Java论坛

疯狂Java联盟

 找回密码
 加入联盟
查看: 91|回复: 2

Spring MVC连载(6)-- WebRequest对象

[复制链接]
发表于 2017-11-19 21:41:18 | 显示全部楼层 |阅读模式
本帖最后由 xiaowenji 于 2017-11-21 19:04 编辑

本文节选自《Spring+MyBatis企业应用实战》

京东购买地址:https://item.jd.com/12111732.html

请求方法中有一个很重要的参数org.springframework.web.context.request.WebRequest。WebRequest是Spring MVC提供的统一请求访问接口,不仅仅可以访问请求相关数据,如参数数据、请求头数据,但访问不到Cookie区数据,还可以访问请求作用范围域和会话作用范围域中的数据;NativeWebRequest继承了WebRequest,并提供访问本地Servlet API的方法。
WebRequest的重点方法:
  • getParameter(String name):根据请求参数名获取请求参数值,等同于Servlet API的request.getParameter(String name)。
  • getHeader(String name):根据请求头参数名获取请求头参数值,等同于Servlet API的request. getHeader (String name)。
  • setAttribute(String name, Object value,int scope):保存数据到指定的作用范围域,等同于Servlet API的scope(request、session).setAttribute(String name, Object value)方法。参数中的int scope是WebRequest对象中定义的两个常量SCOPE_REQUEST(请求作用范围域)、SCOPE_SESSION(会话作用范围域)。
  1. // 保存名称为username的值到request作用范围域
  2. webRequest.setAttribute("username", "疯狂软件", WebRequest.SCOPE_REQUEST);
  3. // 保存名称为bookname的值到session作用范围域
  4. webRequest.setAttribute("bookname", "Spring+MyBatis企业应用实战", WebRequest.SCOPE_SESSION);
复制代码

  • getAttribute(String name,int scope):从指定的作用范围域中提取数据,等同于Servlet API的scope(request、session).getAttribute(String name)方法。
  1. // 从request作用范围域中取出名称为username的值
  2. webRequest.getAttribute("username", WebRequest.SCOPE_REQUEST);
  3. // 从session作用范围域中取出名称为bookname的值
  4. webRequest.getAttribute("bookname", WebRequest.SCOPE_SESSION);
复制代码

总的来说,从框架的无侵入性来说,建议使用WebRequest对象替代Servlet API的HttpServletRequest对象和HttpSession对象。

发表于 2017-11-20 12:23:00 | 显示全部楼层
第一段代码中03行注释是错误的。
 楼主| 发表于 2017-11-21 10:29:59 | 显示全部楼层
下面这段代码订正为:   
// 保存名称为username的值到request作用范围域
webRequest.setAttribute("username", "疯狂软件", WebRequest.SCOPE_REQUEST);
// 保存名称为bookname的值到session作用范围域
webRequest.setAttribute("bookname", "Spring+MyBatis企业应用实战", WebRequest.SCOPE_SESSION);
您需要登录后才可以回帖 登录 | 加入联盟

本版积分规则

视频、代码、电子书下载
请关注"疯狂图书"公众号
QQ交流1群: 545923995  未满

小黑屋|手机版|Archiver|疯狂Java联盟 ( 粤ICP备11063141号 )

GMT+8, 2017-12-18 20:45 , Processed in 0.268643 second(s), 7 queries , File On.

快速回复 返回顶部 返回列表