Struts2的Action中獲取request對象的幾種方式?

1. 經過ActionContext.getSession獲取ide

2. 經過ServletActionContext.getRequest()獲取this

3. 經過SessionAware接口注入spa

4. 經過ServletRequestAware接口注入對象

 

第一種獲取requet對象方法---HttpServletRequest對象的attributes(解耦)  接口

    Map<String, Object> request = (Map)ActionContext.getContext().get("request"); 
get

第二種HttpServletRequest request = ServletActionContext.getRequest();
it

三四種方法須要 Action類實現相應的攔截器接口io

  1,實現ServletRequestAware接口,  class

  2,實現 setServletRequest方法。   request

    Struts2在調用 execute方法以前就會先調用 setServletRequest方法

並將 request參數傳入這個方法

 

經過IOC的方式注入 須要的Servlet API

public class UserAction extends ActionSupport implements ServletResponseAware, ServletRequestAware{

  private String username;

  private int password;

 

  HttpServletRequest req;

  HttpServletResponse resp;

 

  //實現ServletRequestAware 經過IOC的方式 得到request

  @Override

  public void setServletRequest(HttpServletRequest req) {

     this.req = req;

  }

  //實現ServletResponseAware 經過IOC的方式得到Response

   

Java Program!
相關文章
相關標籤/搜索