1、通過ActionContext來獲得舉例代碼如下:
情況1:
ActionContext context = ActionContext.getContext();
Map request = (Map) context.get("request");
Map session = context.getSession();
Map application = context.getApplication();
情況2:
ActionContext actionContext = ActionContext.getContext();
HttpServletRequest request = (HttpServletRequest) actionContext
.get(ServletActionContext.HTTP_REQUEST);
HttpSession session = request.getSession();
ServletContext context = (ServletContext) actionContext
.get(ServletActionContext.SERVLET_CONTEXT);
2、通過實現 RequestAware, SessionAware,ApplicationAware等介面來獲得,舉例代碼如下:
public class LoginAction2 implements Action, RequestAware, SessionAware,
ApplicationAware {
private Map request;
private Map session;
private Map application;
public void setRequest(Map request) {
this.request = request;
}
public void setSession(Map session) {
this.session = session;
}
public void setApplication(Map application) {
this.application = application;
}
}
3、通過ServletActionContext來獲得,舉例代碼如下:
// 利用ServletActionContext獲得request
HttpServletRequest request = ServletActionContext.getRequest();
// 利用request獲得session
HttpSession session = request.getSession();
// 利用ServletActionContext獲得servletContext
ServletContext context = ServletActionContext.getServletContext();