直接访问Servlet API将使Action类与servlet API 耦合在一起,Servlet API对象都由Servlet 容器来构造的。
为了避免与Servlet API耦合在一起,方便Action类的测试,Struts2框架对Servlet API中的HttpServletRequest,HttpSession和ServletContext进行了封装,构造了三个Map对象来替代这三种对象,在Action类中,可以直接访问HttpServletRequest,HttpSession和ServletContext对应的Map对象,Struts2提供了com.opensymphone.xwork2.ActionContext类获取Servlet API对象对应的Map对象,ActionContext是Action执行的上下文,在ActionContext中保存了Action类执行所需要的一组对象