Struts2中获取http请求对象的各种方法,struts2请求,Struts2中获取Ht
分享于 点击 43512 次 点评:61
Struts2中获取http请求对象的各种方法,struts2请求,Struts2中获取Ht
Struts2中获取HttpRequest,HttpResponse,HttpSession,Application,ServletContext及相关的Map对象。
[Java]代码
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 Test 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; } @Override public void setServletRequest(HttpServletRequest request) { this.request = request; } @Override public void setServletResponse(HttpServletResponse response) { this.response = response; } @Override public void setRequest(Map<String, Object> requestMap) { this.requestMap = requestMap; } @Override public void setSession(Map<String, Object> sessionMap) { this.sessionMap = sessionMap; } @Override public void setServletContext(ServletContext context) { this.context = context; } @Override public void setApplication(Map<String, Object> contextMap) { this.contextMap = contextMap; }}
用户点评