现在的位置: 首页 > 综合 > 正文

struts2获取request,session,application4种方式

2013年08月28日 ⁄ 综合 ⁄ 共 2340字 ⁄ 字号 评论关闭

第一种,依赖容器获取:                            
  1. private Map request;  
  2.     private Map session;  
  3.     private Map application;  
  4.     public ActionTest()  
  5.     {  
  6.         request=(Map)ActionContext.getContext().get("request");  
  7.         session=ActionContext.getContext().getSession();  
  8.         application=ActionContext.getContext().getApplication();  
  9.     }  

 

第二种,IoC方式,是通过依赖注入方式获取到对象,需要实现相应的接口为RequestAware,SessionAware,ApplicationAware:                      

  1. private Map<String,Object> request;  
  2.     private Map<String,Object> session;  
  3.     private Map<String,Object> application;  
  4.       
  5.     public void setRequest(Map<String, Object> request) {  
  6.         this.request = request;  
  7.     }  
  8.   
  9.     public void setSession(Map<String, Object> session) {  
  10.         this.session = session;  
  11.     }  
  12.   
  13.     public void setApplication(Map<String, Object> application) {  
  14.         this.application = application;  
  15.     }  

 

第三种,获取的是原型:

                              

  1. private HttpServletRequest request;  
  2.     private HttpSession session;  
  3.     private ServletContext application;  
  4.       
  5.     public ActionTest()  
  6.     {  
  7.         request=ServletActionContext.getRequest();  
  8.         session=request.getSession();  
  9.         application=session.getServletContext();  
  10.     }  

 

第四种,通过IoC获取原型,需要实现ServletRequestAware,并且要实现setServletRequest方法:                             

  1. private HttpServletRequest request;  
  2.     private HttpSession session;  
  3.     private ServletContext application;  
  4.       
  5.     public void setServletRequest(HttpServletRequest request)  
  6.     {  
  7.         this.request=request;  
  8.         this.session=request.getSession();  
  9.         this.application=session.getServletContext();  
  10.     }  
  1. private Map request;  
  2.     private Map session;  
  3.     private Map application;  
  4.     public ActionTest()  
  5.     {  
  6.         request=(Map)ActionContext.getContext().get("request");  
  7.         session=ActionContext.getContext().getSession();  
  8.         application=ActionContext.getContext().getApplication();  
  9.     }  

 

第二种,IoC方式,是通过依赖注入方式获取到对象,需要实现相应的接口为RequestAware,SessionAware,ApplicationAware:                      

  1. private Map<String,Object> request;  
  2.     private Map<String,Object> session;  
  3.     private Map<String,Object> application;  
  4.       
  5.     public void setRequest(Map<String, Object> request) {  
  6.         this.request = request;  
  7.     }  
  8.   
  9.     public void setSession(Map<String, Object> session) {  
  10.         this.session = session;  
  11.     }  

抱歉!评论已关闭.