springMVC4中获取request和response对象有以下两种简单易用的方法:

1、在control层获取

在control层中获取HttpServletRequest和HttpServletResponse对象有以下两种简单方式:

1)通过方法参数直接在action类中获取

@Controller

class Action{

@RequestMapping("/path")

public String getReqAndRes(HttpServletRequest request, HttpServletResponse response){

/**  相关业务代码   此时可以直接使用request response对象 */

}

}

2)利用spring web提供的@ModelAttribute注解

@ModelAttribute放在类方法的参数前面表示引用Model中的数据

@ModelAttribute放在类方法上面则表示该Action类中的每个请求调用之前都会执行该方法,因此在此方法里面可以做一些请求预处理,利用此特性就可以抽象出一个基本Action类,然后所有的Action类都继承自这个基本Aciton类,在基本Action类里面获取相应的request、response、session对象:

public class BaseAction{

protected HttpServletRequest request;

protected HttpServletResponse response;

protected HttpSession session;

@ModelAttribute

public void setReqAndRes(HttpServletRequest request, HttpServletResponse response){

this.request = request;

this.response = response;

this.session = request.getSession();

}

/** 其他业务代码 */

}

2、通过spring提供的RequestContextHolder在非contrller层获取request和response对象

HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();

HttpServletResponse response = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getResponse();

HttpServletResponse response = ((ServletWebRequest)RequestContextHolder.getRequestAttributes()).getResponse();

ServletContext context = ContextLoader.getCurrentWebApplicationContext().getServletContext();

SpringMvc4中获取request、response对象的方法相关推荐

  1. Spring 中获取 request 的几种方法,及其线程安全性分析

    概述 在使用Spring MVC开发Web系统时,经常需要在处理请求时使用request对象,比如获取客户端ip地址.请求的url.header中的属性(如cookie.授权信息).body中的数据等 ...

  2. java获取response对象_Java 获取Request,Response对象方法

    第一种.参数 @RequestMapping("/test") @ResponseBodypublic void saveTest(HttpServletRequest req, ...

  3. Java 获取Request,Response对象方法

    第一种.参数 @RequestMapping("/test") @ResponseBody public void saveTest(HttpServletRequest req, ...

  4. Spring中获取request的方法及其线程安全性分析

    在使用Spring MVC开发Web系统时,经常需要在处理请求时使用request对象,比如获取客户端ip地址.请求的url.header中的属性(如cookie.授权信息).body中的数据等.由于 ...

  5. springMVC中获取request 对象

    1.最简单的方式(注解法) @Autowired private HttpServletRequest request; 2.最麻烦 a. 在web.xml中配置一个监听 <listener&g ...

  6. Spring MVC中获取Request的方法及分析

    一.概述 在使用Spring MVC开发Web系统时,经常需要在处理请求时使用request对象,比如获取客户端IP地址.请求的URL.header中的属性(如cookie.授权信息).body中的数 ...

  7. Struts2.x中获取request,response,session的方式

    Struts2.x中获取request,response,session的方式有两种:非IOC方式和IOC方式: 一:非IOC方式: 要获得request,response,session 这些对象, ...

  8. java定时器任务中获取request对象 @Scheduled 获取request 对象 quartz中获取request对象

    java定时器任务中获取request对象 @Scheduled 获取request 对象 quartz中获取request对象 一.问题描述 1.在java定时任务中,使用 @Scheduled 注 ...

  9. spring aspect通知中获取request对象

    注:aop = aspect = 切面 在aspect 中一般是做: 事务控制.日志.权限控制 等等,这些场景. 在aop切面类中,直接使用ServletActionContext.getReques ...

最新文章

  1. mysql root的密码忘了?linux下重置mysql的root用户密码。
  2. docker-ce版本私有仓库搭建
  3. c语言char有什么作用,C语言中char*和char[]用法区别分析
  4. 推荐系统常用评价指标和代码实现
  5. mysql5.7.17完全卸载_MySQL5.7完全卸载步骤详解
  6. SQL存储过程与自定义函数实例
  7. Keepalived-在没有之前配置的Nginx高可用(不建议采纳)
  8. eBay起诉指控亚马逊利用非法手段挖走其卖家
  9. android+京东分类菜单,Android仿京东商品分类
  10. pci串口驱动安装失败_PCI并口卡驱动安装不上
  11. linux 如何加定时任务,linux系统添加定时任务
  12. 核只有单位元等价于映射是单射
  13. 流利阅读12.17 Why are the 'yellow vests' still protesting in France? His name is Macron
  14. vue+element模仿电商商城,前后端分离实现,下单微信扫码支付
  15. 【个人笔记】SIPp学习-注册,呼叫与超时
  16. C语言实现http服务器(Linux)
  17. PMD相位提取及相位展开简述
  18. 【爱找茬】linux系统和windows系统,你找到了几处不同?
  19. c++ 随机字符串_连载|想用Python做自动化测试?了解数值计算和随机数生成神器...
  20. 轻量级Transformer模型ConvBERT架构及完整源码实现

热门文章

  1. asp页面和Asp.net页面传中文参数UrlEncode编码以及接收解码
  2. 深入理解PHP之数组遍历
  3. 《异步处理在分布式系统中的优化作用》学习笔记
  4. C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(ubuntu g++)——插入
  5. 设计模式之原型模式(Prototype)摘录
  6. 【摄像头】摄像机工作原理
  7. 请写出查询该表中成绩最大值的sql语句_SQL-汇总分析
  8. js 等待某个函数执行完_JS 函数的执行时机
  9. linux如何设置awesome字体,Awesome简单配置
  10. nosql mysql mongodb_关于NoSQL之MongoDB的一些总结