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. Action类中获取request等对象的方法

    struts2中的action类中,SevletActionContext可以获取

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

    前言 本文将介绍在Spring MVC开发的web系统中,获取request对象的几种方法,并讨论其线程安全性. 原创不易,如果觉得文章对你有帮助,欢迎点赞.评论.文章有疏漏之处,欢迎批评指正. 欢迎 ...

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

    前言 本文将介绍在Spring MVC开发的web系统中,获取request对象的几种方法,并讨论其线程安全性. 原创不易,如果觉得文章对你有帮助,欢迎点赞.评论.文章有疏漏之处,欢迎批评指正. 欢迎 ...

  4. Spring中获取request的几种方法,及其线程安全性分析(山东数漫江湖)

    前言 本文将介绍在Spring MVC开发的web系统中,获取request对象的几种方法,并讨论其线程安全性. 原创不易,如果觉得文章对你有帮助,欢迎点赞.评论.文章有疏漏之处,欢迎批评指正. 欢迎 ...

  5. struts2 action中获取request session application的方法

    共四种方式: 其中前两种得到的是Map<String,Object>  后两种得到的才是真正的request对象 而Map就是把request对象中的属性取出做成了键值对而已. [方法一] ...

  6. flask中获取request的参数的方法

    request请求总体分为两类: 1.get请求 访问时会在地址栏直接显示参数不安全,且参数大小比较小. 2.post请求 参数不显示在地址栏,一般用户注册.登录都通过post请求完成. flask获 ...

  7. java中获取request与response对象的方法

    Java 获取Request,Response对象方法   第一种.参数 @RequestMapping("/test") @ResponseBody public void sa ...

  8. springMVC中获取request和response对象的几种方式(RequestContextHolder)

    springMVC中获取request和response对象的几种方式 1.最简单方式:参数 2.加入监听器,然后在代码里面获取 原文链接:https://blog.csdn.net/weixin_4 ...

  9. 在SpringMVC中获取request对象的几种方式

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

随机推荐

  1. Tensorflow中张量数据类型的转换

    https://blog.csdn.net/Tramac/article/details/74942587 字符串转为数字: tf.string_to_number (string_tensor, o ...

  2. 关于APP接口设计 (转)

    转自:http://blog.csdn.net/gebitan505/article/details/37924711 1.效率:接口访问速度 PHP建议使用YAF框架. 最好使用JSON格式数据,因 ...

  3. 微信小程序 this.data与this.setData

    一.摘要 小程序中我们会经常使用到this.data与this.setData.其中this.data是用来获取页面data对象的,而this.setData是用来更新界面的.那么他们之间的区别与联系 ...

  4. PostgreSQL入门教程

    一.安装 首先,安装PostgreSQL客户端. sudo apt-get install postgresql-client 然后,安装PostgreSQL服务器. sudo apt-get ins ...

  5. Android Studio 上传aar(Library)到JCenter

    目的 这篇文章介绍通过Gradle把开源项目发布到公共仓库JCenter中,发布自己的android library(也就是aar)到公共的jcenter仓库. 为什么选择JCenter,因为JCen ...

  6. AngularJs - Javascript MVC 框架

    在2012年6月google发布了AngularJs 1.0稳定版, 并宣称:AngularJS可以让你扩展HTML的语法,以便清晰.简洁地表示应用程序中的组件,并允许将标准的HTML作为你的模板语言 ...

  7. robot framework-requests库安装过程问题解决

    这几天本想研究下用robotframework+HTTP library (Requests)来做接口测试(http协议), 安装完Requests库后,在RIDE里导入该库时显示是红色,即导入失败( ...

  8. struts.xml文件中package元素的各大属性讲解

    Struts2中的包: Struts2使用包来组织Action,将Action放在包下来定义,通过package元素配置一个包,通过package的子元素action来定义一个Action: Stru ...

  9. JDK5.0 特性-线程 Condition

    来自:http://www.cnblogs.com/taven/archive/2011/12/17/2291471.html import java.util.concurrent.Executor ...

  10. [OpenGL] 斯坦福兔子与显示列表

    1.调整桌子的大小.         在OpenGL绘制长方体,能够通过函数: glutSolidCube(Size)          绘制得到的是一个正方体,再利用缩放矩阵使其变成长方体.使得桌子 ...