Struts中,IoC将Servlet注入到Action

在Struts2中,通过IoC方式将Servlet对象主入到Action中,具体实现是由一组接口决定的。要采用IoC方式就必须在Action中实现以下接口:

  1.      ApplicationAware:以Map类型向Action注入保存在ServletContext中的Attribute集合

  2.      SessionAware:以Map类型向Action注入保存在HttpSession中的Attribute集合

  3.      CookieAware:以Map类型向Action注入Cookie中的数据集合

  4.      ParameterAware:向Action中注入请求参数集合

  5.      ServletRequestAware:实现该接口的Action可以直接访问HttpServletRequest对象,Action必须实现该接口的void setServletRequest(HttpServletRequest request)方法。

  6.      ServletResponseAware:实现该接口的Action可以直接访问HttpServletResponse对象,Action必须实现该接口的void setServletResponse(HttpServletResponse response)方法。

  7.      ServletContextAware:实现该接口的Action可以直接访问ServletContext对象,Action必须实现该接口的void setServletContext(ServletContext context)方法。

public void setServletRequest(HttpServeltRequest request){
    this.request=request;//获取request对象
    this.session=request.getSession();//获取Session对象
    this.application=session.getServletContext();//获取application对象
}


你可能感兴趣的:(IOC,strust2)