struts2中几种获得request,session等对象的方法
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();