/** * 經過和Servlet解耦的方式獲取web資源,例如:ServletContext,Session,request,parameter的Map屬性集合 * 一、經過ActionContext獲取 * 二、經過實現xxxAware接口的方式 */ ActionContext actionContext = ActionContext.getContext(); //獲取application(ServletContext) Map<String, Object> applicationMap = actionContext.getApplication(); //獲取session Map<String, Object> sessionMap = actionContext.getSession(); //獲取request Map<String, Object> requestMap = (Map<String, Object>) actionContext.get("request"); //獲取parameter 返回的是參數數組 Map<String, Object> parameterMap = actionContext.getParameters();
implements RequestAware,ApplicationAware,SessionAware,ParameterAware private Map<String, Object> sessionMap; private Map<String, Object> applicationMap; private Map<String, Object> requestMap; private Map<String, String[]> parameterMap; @Override public void setSession(Map<String, Object> sessionMap) { this.sessionMap = sessionMap; } @Override public void setApplication(Map<String, Object> applicationMap) { this.applicationMap = applicationMap; } @Override public void setRequest(Map<String, Object> requestMap) { this.requestMap = requestMap; } @Override public void setParameters(Map<String, String[]> parameterMap) { this.parameterMap = parameterMap; }
/** * 經過和Servlet耦合的方式獲取web資源 * 一、經過ServletActionContext獲取 * 二、經過實現ServletxxxAware獲取 */ ServletContext servletContext = ServletActionContext.getServletContext(); HttpServletRequest servletRequest = ServletActionContext.getRequest(); HttpServletResponse httpServletResponse = ServletActionContext.getResponse();
implements ServletContextAware,ServletRequestAware,ServletResponseAware @Override public void setServletResponse(HttpServletResponse response) { } @Override public void setServletRequest(HttpServletRequest request) { } @Override public void setServletContext(ServletContext context) { }