Struts2中獲取http請求對象的各種方法
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; } }</pre>