普通类中获取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.strut...

Struts2工具类[实现获取Request/Response/Session与绕过jsp/freemaker直接输出文本的简化函数]

[java] view plain copy print? package org.eline.web.struts2;    import java.io.IOExceptio...

Struts2工具类 实现获取Request/Response/Session的简化函数

import java.io.IOException; import javax.servlet.http.HttpServletRequest; import javax.servlet.h...

Struts2工具类[实现获取Request/Response/Session与绕过jsp/freemaker直接输出文本的简化函数]

package org.eline.web.struts2; import java.io.IOException; import java.util.Map; import javax.serv...

复杂的json提交给Struts2普通的request.getParameter()是获取不到的

今天在编码的时候遇到遇到一个奇特的问题,在前端客户段提交json数据到Struts2时,在通过request.getParameter()对相应的json数据进行获取竟然是null 前台jquery...

struts2中获取action中request,response,session的方法

http://www.javaeye.com/topic/581820 不做不知道,一做才知道自己原来不知道。之前用惯struts1.x,那些request啊session之类都是方法自带有的,我们直...

Struts2中action获取request、response、session的方式

第一种方式,非IoC(Spring中的控制反转)方式:Java代码  /**      * File Name:BaseAction.java * Version: * ...

Struts2中获取Session,Request

在Struts1.*中,要想访问request、response以及 session等Servlet对象是很方便的,因为它们一直是作为形参在各个方法之间进行传递的,而在Struts2中我们就很难看到它...

struts2中获取request、session、response、application方式

内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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