[转] spring的普通类中如何取session和request对像

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

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

接着在普通bean类中:

1 @Autowired
2 private HttpSession session;
3
4 @Autowired
5 private HttpServletRequest request;  

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

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

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

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

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

时间: 2024-08-10 07:54:38

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

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

原文地址:http://blog.csdn.net/yousite1/article/details/7108585 首先要在web.xml增加如下代码: <listener> <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class> </listener> 如果是在普通的bean类型的类中(Controller,Servic

spring在普通类中获取session和request

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

Jax-ws 开发webService ,并使用spring注入service类中遇到 空指针

一般情况下,使用eclipse自带的 jax-ws 生成webservice 会自动生成2个类: ContractConnector.java package com.wonders.webservice.contract; import java.text.DecimalFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import org.dom

Math类中的取整方法

Math类提供了3个有关取整的方法:ceil().floor().round(). 这些方法与他们的英文名字相对应: ceil,天花板,意思就是向上取整,Math.ceil(11.5)的结果为12,Math.ceil(-11.5)的结果为-11. floor,地板,意思就是向下取整,Math.floor(11.5)的结果为11,Math.floor(-11.5)的结果为-12. round,表示四舍五入,算法为:Math.floor(x+0.5), 即将原来的数字加上0.5后在向下取整,Math

C++:类中两个易被忽略的默认函数

C++的自定义类中有六个默认的函数,即如果用户没有显式定义这些函数时,C++编译器会类中生成这些函数的默认形式.除了大家所熟知的构造函数.拷贝构造函数.赋值函数和析构函数外,C++为自定义类 还提供了两个容易被人忽视的默认函数--取地址函数和对常对象的取地址函数. 一.取地址函数 在C++中可以通过取地址运算符&求得变量的地址,如: 1 int a=10; 2 cout<<"变量a的地址为:"<<&a<<endl; 那么对于自定义类的

在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

Spring中@Value(&quot;${}&quot;))取不到值的几种情况

https://blog.csdn.net/dh12313012/article/details/84661169 1. spring组件重写构造方法,在构造方法中引用@Value为null 由于spring实例化顺序为先执行构造方法,再注入成员变量,所以序为先执行构造方法,再注入成员变量,所以ing实例化顺取值为null 解决办法为:再写一个常量类,在常量类中引用@value,再在构造方法中引用常量类的变量即可. 2. 调用spring组件时使用new对象,而不是@Autowired 使用对象

spring+hibernate实体类注解详解(非原创) + cascade属性取值

@Entity //继承策略.另一个类继承本类,那么本类里的属性应用到另一个类中 @Inheritance(strategy = InheritanceType.JOINED ) @Table(name="INFOM_TESTRESULT") public class TestResult extends IdEntity{} 1 @Entity(name="EntityName") 必须 name为可选,对应数据库中一的个表 2 @Table(name="

Spring boot将配置属性注入到bean类中

一.@ConfigurationProperties注解的使用 看配置文件,我的是yaml格式的配置: // file application.yml my: servers: - dev.bar.com - foo.bar.com - jiaobuchong.com 1 2 3 4 5 6 下面我要将上面的配置属性注入到一个Java Bean类中,看码: import org.springframework.boot.context.properties.ConfigurationProper