博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMvc4中获取request、response对象的方法
阅读量:6500 次
发布时间:2019-06-24

本文共 1402 字,大约阅读时间需要 4 分钟。

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)利用 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();

转载地址:http://ggvyo.baihongyu.com/

你可能感兴趣的文章
学习C语言必须知道的理论知识(第一章)
查看>>
for语句内嵌例题与个人理解
查看>>
眠眠interview Question
查看>>
Linux C++/Java/Web/OC Socket网络编程
查看>>
[转]CSS hack大全&详解
查看>>
c语言第八次作业
查看>>
RPC-client异步收发核心细节?
查看>>
POJ-1753 Flip Game 枚举 状态压缩
查看>>
〖Linux〗使用Qt5.2.0开发Android的NDK应用程序
查看>>
idea快捷键
查看>>
Finalize/Dispose/Destructor
查看>>
#define WIN32_LEAN_AND_MEAN 的作用
查看>>
<input type="hidden" />在IE中占空间(转)
查看>>
商品秒杀,防并发解决思路
查看>>
如何创建.gitignore文件,忽略git不必要提交的文件
查看>>
Github的Tom大鸟:我是如何拒绝微软30w的诱惑,专注于Github事业
查看>>
文件处理命令:sed
查看>>
Phpcms V9手机门户设置教程:怎么用PC V9做手机网站
查看>>
(转) SYSTEM_HANDLE_INFORMATION中ObjectTypeIndex的定义
查看>>
使用HTML5监測站点性能
查看>>