ssm框架中获取request和response

有时候需要在Controller、service中使用HttpServletRequest或HttpServletResponse对象,这里记下3种方法

1.直接在Controller接收参数HttpServletRequest或HttpServletResponse,再传到service类中

2.在service类中需要使用req和res对象的方法上加@ModelAttribute注解,并且在方法
参数列表里接收这两个对象即可在方法里使用

3.在web.xml中配置监听器(专门监听http对象),spring子容器可以使用父容器web的对象
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener
</listener-class>
</listener>

@Autowired

private HttpServletRequest request;

@Autowired

private HttpServletResponse response;

对于这三种方法,大同小异,但是方法3会使该类多了2个属性,而方法1、2只是以参数的形式传给某个方法,

要根据具体的使用场合选择方法,比如某个类中有多个方法使用到Http对象,那么使用方法3比较方便。

原文地址:https://www.cnblogs.com/tanzq/p/8371300.html

时间: 2024-10-08 18:26:54

ssm框架中获取request和response的相关文章

struts2中获取request、response,与android客户端进行交互(文件传递给客户端)

用struts2作为服务器框架,与android客户端进行交互需要得到request.response对象. struts2中获取request.response有两种方法. 第一种:利用ServletActionContext的静态方法 Struts2 利用ServletActionContext类来维护Servlet对象,ServletActionContext利用ThreadLocal来维护 不同线程的Servlet对象,因此可以使用ServletActionContext类获取,这种方法

在springMVC的controller中获取request,response对象的一个方法

使用springMVC的时候,有些时候会需要获取请求或者响应对象,例如在身份验证的时候,需要获取请求头中的token,在做登录系统的时候需要使用response对象向客户端添加cookie,一个有效的做法是在controller的方法中添加对应参数如下所示: @RestController public class Test2Contrller { @RequestMapping("/test") public void test(HttpServletRequest req, Htt

关于struts2中获取request和response

1.访问或添加request/session/application属性 public String scope() throws Exception{ ActionContext ctx = ActionContext.getContext(); ctx.getApplication().put("app", "应用范围");//往ServletContext里放入app ctx.getSession().put("ses", "se

在java中如何在非servlet的普通类中获取request、response、session

原文:http://blog.csdn.net/u012255097/article/details/53092628 在spring的普通类中: HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest(); request.getSession(); 在Struts的普通类中: HttpServletRequest reques

springMVC 中几种获取request和response的方式

1.最简单方式:参数 例如: @RequestMapping("/test") @ResponseBody public void saveTest(HttpServletRequest req, HttpServletResponse resp){ } 2.加入监听器,然后在代码里面获取 HttpServletRequest req = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).ge

SSM框架中使用Spring的@Transactional注解进行事务管理

一 介绍 在企业级应用中,保护数据的完整性是非常重要的一件事.因此不管应用的性能是多么的高.界面是多么的好看,如果在转账的过程中出现了意外导致用户的账号金额发生错误,那么这样的应用程序也是不可接受的 数据库的事务管理可以有效地保护数据的完整性(PS:关于数据库的事务管理基础可以参考我以前写过的这篇文章:http://www.zifangsky.cn/385.html),但是原生态的事务操作需要写不少的代码,无疑是非常麻烦的.在使用了Spring框架的应用中,我们可以使用@Transactiona

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

1.最简单的方式(注解法) 1 2 @Autowired private  HttpServletRequest request; 2.最麻烦的方法 a. 在web.xml中配置一个监听 <listener> <listener-class> org.springframework.web.context.request.RequestContextListener </listener-class> </listener> b.之后在程序里可以用 Http

servlet中的request和response

利用3到4天的时间,把servlet中的request和response对象视频看了一遍.看完之后,自己总结出来了一些知识点. 学习一个对象的三部曲:首先查看API文档,了解以及掌握对象的一些常用的方法用法:其次就是解决一些中文乱码之类的问题:最后就是该对象的应用了. 好了,先来说说response对象吧. 1.解决用outputStream输出中文的乱码问题. //1.程序的数据以什么码表输出了,程序就要控制浏览器以什么码表打开 response.setHeader("content-type

在SpringMVC中获取request对象

1.注解法 Java代码   @Autowired private  HttpServletRequest request; 2. 在web.xml中配置一个监听 Xml代码   <listener> <listener-class> org.springframework.web.context.request.RequestContextListener </listener-class> </listener> 之后在程序里可以用 Java代码   H