在使用spring时,经常需要在普通类中获取session,request等对像.
比如一些AOP拦截器类,在有使用struts2时,因为struts2有一个接口使用org.apache.struts2.ServletActionContext即可很方便的取到session对像.
用法:ServletActionContext.getRequest().getSession();
但在单独使用spring时如何在普通类中获取session,reuqest呢?
其实也是有办法的.
首先要在web.xml增加如下代码:

  <listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>

接着在普通bean类中:

 @Autowired
private HttpSession session; @Autowired
private HttpServletRequest request;

即可,在类中使用session对像了,是不是很方便呢..

之所以要写出来是因为目前网上关于这个的用法,都是用什么写个lister再把session保存起来,太麻烦了.
spring这么强大的框架,当然他们早也想到了.所以才有了我们这么方便的使用方法.

当前加了上面的listener后也可以使用代码的方式获取reuqest对像

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

(原文地址:http://blog.csdn.net/yousite1/article/details/7108585)

[转] spring的普通类中如何取session和request对像的更多相关文章

  1. spring的普通类中如何取session和request对像

    在使用spring时,经常需要在普通类中获取session,request等对像. 比如一些AOP拦截器类,在有使用struts2时,因为struts2有一个接口使用org.apache.struts ...

  2. 【转载】spring的普通类中如何取session和request对像

    原文地址:http://blog.csdn.net/yousite1/article/details/7108585 首先要在web.xml增加如下代码: <listener> <l ...

  3. 教你在Java的普通类中轻松获取Session以及request中保存的值

    曾经有多少人因为不知如何在业务类中获取自己在Action或页面上保存在Session中值,当然也包括我,但是本人已经学到一种办法可以解决这个问题,来分享下,希望对你有多多少少的帮助! 如何在Java的 ...

  4. spring的普通类中获取session和request对像

    在使用spring时,经常需要在普通类中获取session,request等对像. 1.第一钟方式,针对Spring和Struts2集成的项目: 在有使用struts2时,因为struts2有一个接口 ...

  5. spring在普通类中获取session和request

    在使用spring时,经常需要在普通类中获取session,request等对像.比如一些AOP拦截器类,在有使用struts2时,因为struts2有一个接口使用org.apache.struts2 ...

  6. Spring service本类中方法互相调用事物失效问题

    简介 Spring事物利用的是AOP,动态代理采用CGLIB代理(默认,也可以用Proxy代理,但是Proxy代理效率低于CGLIB代理).故只要弄懂Spring的AOP实现,就知道为什么servic ...

  7. 在自己写的C#类中调用 ASP.NET的Request,server 等对象

    加命名空间(可能需要在项目中先加引用,再在类中如下引用) using System.Web.SessionState; HttpContext.Current.Session["TotalP ...

  8. 如何在非Spring管理的类中使用Spring加载的bean

    <dependencies> <dependency> <groupId>org.springframework.boot</groupId> < ...

  9. Spring service本类中方法调用另一个方法事务不生效问题(转载)

    前些日子一朋友在需要在目标对象中进行自我调用,且需要实施相应的事务定义,且网上的一种通过BeanPostProcessor的解决方案是存在问题的.因此专门写此篇帖子分析why. 1.预备知识 aop概 ...

随机推荐

  1. 转:Creating a Nested ESXi 5 Environment

    http://tsmith.co/2011/creating-a-nested-esxi-5-environment/ http://tsmith.co/2012/vsphere-5-1-lab-ne ...

  2. bat脚本禁用和开启本地连接

    netsh interface set interface name="本地连接" admin=disabled //禁用本地连接 netsh interface set inte ...

  3. 【Linux】循环控制及状态返回值break、continue、exit、return

    一.break.continue.exit.return的区别和对比 break n     :如果省略n,则表示跳出整个循环,n表示跳出循环的层数 continue n:如果省略n,则表示跳过本次循 ...

  4. 1388:Lake Counting

    题目链接: NOI题库http://noi.openjudge.cn/ch0205/1388/ POJ 2386 http://poj.org/problem?id=2386 总时间限制: 1000m ...

  5. msiexec command line arguments

    Documented command line arguments Type MSIEXEC /? and you'll get the following on-screen help: Windo ...

  6. java.lang.String cannot be cast to scala.runtime.Nothing Scala中的Nothing类型

    经常在写Rdd的时候, 如:  val OWNER_ID=row.getAs("OWNER_ID")  等, 运行是可能会报异常 : java.lang.String cannot ...

  7. 使用Docker运行Java Web应用

    前言 Tomcat是目前比较流行的Web应用服务器,深受Java爱好者的喜爱.通常J2EE应用的产出物是一个war包,这篇文章将为你介绍如何使用Docker运行Tomcat+war包的Java Web ...

  8. Oracle常用存储过程写法

    写在前面 这段时间工作最长接触到的就是Oracle数据库,不论查数据,还是统计.运行job,都离不开PL/SQL 存储过程,下面就整理下经常用到的知识. 一.Function函数 函数是执行非查询语句 ...

  9. 【php将日志写入一个按时间天来分类的文件】put_file_contents()

    具体参考php官方文档:http://php.net/manual/zh/function.file-put-contents.php 具体参数:成功返回插入数据的字节数,失败返回false 使用示例 ...

  10. boost asio resolver

    asio 中的resolver一般用于将host等信息转化为socket信息,类似于getaddrinfo() 以下代码 boost::asio::io_service io; tcp::resolv ...