1. 程式人生 > >幾種獲取request,session方法

幾種獲取request,session方法

struts2中幾種獲得request,session等物件的方法 
1、通過ActionContext來獲得舉例程式碼如下: 

  情況1:

  ActionContext context = ActionContext.getContext(); 
   Map request = (Map) context.get("request"); 
   Map session = context.getSession(); 
   Map application = context.getApplication(); 
情況2:
   ActionContext actionContext = ActionContext.getContext(); 
   HttpServletRequest request = (HttpServletRequest) actionContext.get(ServletActionContext.HTTP_REQUEST); 
   HttpSession session = request.getSession(); 
   ServletContext context = (ServletContext) actionContext.get(ServletActionContext.SERVLET_CONTEXT); 

2、通過實現 RequestAware, SessionAware,ApplicationAware等介面來獲得,舉例程式碼如下:
public class LoginAction2 implements Action, RequestAware, SessionAware, 
  ApplicationAware { 

   private Map request; 
   private Map session; 
   private Map application; 

   public void setRequest(Map request) { 
         this.request = request; 
  } 

   public void setSession(Map session) { 
        this.session = session; 
  } 

  public void setApplication(Map application) { 
             this.application = application; 
  } 

} 
3、通過ServletActionContext來獲得,舉例程式碼如下:
 // 利用ServletActionContext獲得request 
   HttpServletRequest request = ServletActionContext.getRequest(); 
   // 利用request獲得session 
   HttpSession session = request.getSession(); 
   // 利用ServletActionContext獲得servletContext 
   ServletContext context = ServletActionContext.getServletContext();