Struts2中获取http请求对象的各种方法

jopen 11年前

import java.util.Map;  import javax.servlet.ServletContext;  import javax.servlet.http.HttpServletRequest;  import javax.servlet.http.HttpServletResponse;  import javax.servlet.http.HttpSession;  import org.apache.struts2.ServletActionContext;  import org.apache.struts2.interceptor.ApplicationAware;  import org.apache.struts2.interceptor.RequestAware;  import org.apache.struts2.interceptor.ServletRequestAware;  import org.apache.struts2.interceptor.ServletResponseAware;  import org.apache.struts2.interceptor.SessionAware;  import org.apache.struts2.util.ServletContextAware;    import com.opensymphony.xwork2.ActionContext;  import com.opensymphony.xwork2.ActionSupport;    @SuppressWarnings( { "serial", "unused", "unchecked" })  public class GetHttp extends ActionSupport implements ServletRequestAware,    ServletResponseAware, RequestAware, SessionAware, ServletContextAware,    ApplicationAware {     private HttpServletRequest request;     private HttpServletResponse response;     private HttpSession session;     private Map<String, Object> requestMap, sessionMap, contextMap;     private ServletContext context;     @Override   public String execute() throws Exception {    this.request = ServletActionContext.getRequest();    this.request = (HttpServletRequest) ActionContext.getContext().get(      ServletActionContext.HTTP_REQUEST);      this.session = this.request.getSession();    this.sessionMap = ActionContext.getContext().getSession();    this.sessionMap = ServletActionContext.getContext().getSession();// 调用父类ActionContext的方法    this.sessionMap = (Map<String, Object>) ActionContext.getContext().get(      ServletActionContext.SESSION);      this.response = ServletActionContext.getResponse();    this.response = (HttpServletResponse) ActionContext.getContext().get(      ServletActionContext.HTTP_RESPONSE);      this.context = this.session.getServletContext();    this.context = ServletActionContext.getServletContext();    this.context = (ServletContext) ActionContext.getContext().get(      ServletActionContext.SERVLET_CONTEXT);    this.contextMap = ActionContext.getContext().getApplication();    this.contextMap = ActionContext.getContext().getContextMap();    this.contextMap = (Map<String, Object>) ActionContext.getContext().get(      ActionContext.APPLICATION);    this.contextMap = (Map<String, Object>) ActionContext.getContext().get(      ServletActionContext.APPLICATION);      return SUCCESS;   }     public void setServletRequest(HttpServletRequest request) {    this.request = request;   }     public void setServletResponse(HttpServletResponse response) {    this.response = response;   }     public void setRequest(Map<String, Object> requestMap) {    this.requestMap = requestMap;   }     public void setSession(Map<String, Object> sessionMap) {    this.sessionMap = sessionMap;   }     public void setServletContext(ServletContext context) {    this.context = context;   }     public void setApplication(Map<String, Object> contextMap) {    this.contextMap = contextMap;   }  }