普通类中获取request,session

转载 2016年06月01日 19:36:43
在使用spring时,经常需要在普通类中获取session,request等对像. 
比如一些AOP拦截器类,在有使用struts2时,因为struts2有一个接口使用org.apache.struts2.ServletActionContext即可很方便的取到session对像. 

用法:ServletActionContext.getRequest().getSession(); 

但在单独使用spring时如何在普通类中获取session,reuqest呢? 

第一种:
在web.xml增加如下代码: 

[html] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. <listener>   
  2.    <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>   
  3. </listener>   

注解方式

[html] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. @Autowired    
  2. private HttpSession session;      
  3. @Autowired    
  4. private HttpServletRequest request;    

[html] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();   

第二种:

[java] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. public class RequestUtils {  
  2.     private static final Logger log = LoggerFactory  
  3.             .getLogger(RequestUtils.class);  
  4.     private static ThreadLocal<HttpServletRequest> requestLocal= new ThreadLocal<HttpServletRequest>();  
  5.       
  6.   
  7.     public static HttpServletRequest getRequest() {  
  8.          return (HttpServletRequest)requestLocal.get();    
  9.     }  
  10.   
  11.     public static void setRequest(HttpServletRequest request) {  
  12.           requestLocal.set(request);    
  13.     }  
  14. }  
[java] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. public class GetRequest implements Filter {  
  2.   
  3.     /** 
  4.      * Default constructor.  
  5.      */  
  6.     public GetRequest() {  
  7.         // TODO Auto-generated constructor stub  
  8.     }  
  9.   
  10.     /** 
  11.      * @see Filter#destroy() 
  12.      */  
  13.     public void destroy() {  
  14.         // TODO Auto-generated method stub  
  15.     }  
  16.   
  17.     /** 
  18.      * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain) 
  19.      */  
  20.     public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {  
  21.         // TODO Auto-generated method stub  
  22.         // place your code here  
  23.         RequestUtils.setRequest((HttpServletRequest)request);  
  24.         // pass the request along the filter chain  
  25.         chain.doFilter(request, response);  
  26.     }  
  27.   
  28.     /** 
  29.      * @see Filter#init(FilterConfig) 
  30.      */  
  31.     public void init(FilterConfig fConfig) throws ServletException {  
  32.         // TODO Auto-generated method stub  
  33.     }  
  34.   
  35. }  
在web.xml增加如下代码: 

[html] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. <filter>  
  2.                 <filter-name>GetRequest</filter-name>  
  3.         <filter-class>com.filter.GetRequest</filter-class>  
  4. </filter>  
  5.     <filter-mapping>  
  6.         <filter-name>GetRequest</filter-name>  
  7.         <url-pattern>/*</url-pattern>  
  8.     </filter-mapping>  
本文转载于:http://blog.csdn.net/chenzenan/article/details/25387977

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

在使用spring时,经常需要在普通类中获取session,request等对像.  比如一些AOP拦截器类,在有使用struts2时,因为struts2有一个接口使用org.apache.stru...
  • chenzenan
  • chenzenan
  • 2014年05月09日 13:56
  • 5472

在普通类中获取request和session

在使用spring时,经常需要在普通类中获取session,request等对像.  比如一些AOP拦截器类,在有使用struts2时,因为struts2有一个接口使用org.apache.stru...
  • penyoudi1
  • penyoudi1
  • 2016年04月04日 11:38
  • 186

在ActionSupport类中获取request、session、application,并且放一些对象进去

主要分两种方法,第一中方法就是代码中加这个 HttpServletRequest request = ServletActionContext.getRequest(); HttpSession se...
  • u010513756
  • u010513756
  • 2015年10月20日 22:17
  • 5978

JSP自定义标签开发(五)——标签类获取 request 、 session

实例:
  • xueshandugu
  • xueshandugu
  • 2014年08月21日 18:00
  • 2881

Thymeleaf+SpringMVC,从模板中获取数据session、request参数

Thymeleaf+SpringMVC,从模板中获取数据session、request参数 Request参数 请求的url为:/user/get?id=12 访问参数id可以使用pa...
  • sun1021873926
  • sun1021873926
  • 2017年03月12日 11:08
  • 12566

Servlet共享变量Context,Session,或Request的作用范围

在Servlet中进行变量的共享可硬通过Servlet容器中存在的ServletContext,HttpSession和HttpServletRequest的实例来实现。 在三中方式共享变量的方法是使...
  • stven_king
  • stven_king
  • 2014年04月02日 18:47
  • 2261

JAVA_WEB Struts2学习:Struts2解耦、耦合方式获取request、session、aplication对象

Struts: -OGNL与Servlet的最大区别:数据转移以及类型转化。 xwork-conversion.properties 处理类型转换错误(如果前台校验js很完善:等前台录入数据格...
  • dragonbamboo261
  • dragonbamboo261
  • 2013年08月25日 15:25
  • 1957

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

在使用spring时,经常需要在普通类中获取session,request等对像. 比如一些AOP拦截器类,在有使用struts2时,因为struts2有一个接口使用org.apache.strut...
  • bigtree_3721
  • bigtree_3721
  • 2017年07月07日 11:28
  • 91

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

在使用spring时,经常需要在普通类中获取session,request等对像. 比如一些AOP拦截器类,在有使用struts2时,因为struts2有一个接口使用org.apache.strut...
  • z1012890225
  • z1012890225
  • 2014年06月26日 09:47
  • 459

iterator的使用实例及在s标签里去session,request里取值

public class User { private Integer userId; private String userName; private Strin...
  • s781112
  • s781112
  • 2014年01月18日 11:20
  • 2178
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:普通类中获取request,session
举报原因:
原因补充:

(最多只允许输入30个字)