Action获取传统域对象(HttpServletRequest、HttpSession、ServletContext)的三种

1.第一种方式:使用采用ServletActionContext类获取

request = ServletActionContext.getRequest();
session = request.getSession();
//application = session.getServletContext();//获取到了session也可以使用它来获取application对象
application= ServletActionContext.getServletContext();
  这种方式最好将它们放在该类的构造函数中初始化。


2 .第二种方式:实现ServletRequestAware和ServletContextAware接口,
  并重写setServletContext()和setServletRequest()方法
@Override
public void setServletContext(ServletContext context) {
    this.application = context;
}

@Override
public void setServletRequest(HttpServletRequest request) {
    this.request = request;
    session = request.getSession();
}


3. 第三种方式:
request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
session = request.getSession();
application = session.getServletContext();
这种方式最好将它们放在该类的构造函数中初始化。


你可能感兴趣的:(【框架学习】)