ActionContext :
WebWork对HttpSession进行了转换,使其转变为与Servlet API无关的Map对象。
通过这样的方式,保证了Xwork 所面向的是一个通用的开放结构。从而使得逻辑层与表现层无关。增加了代码重用的可能。
可以从ActionContext里得到参数值
这里的getSession()返回的是webwork自己封装的一个Map实例,而不是Servlet的HTTPSession
ServletActionContext:
此外, 为了提供与Web 容器直接交互的可能。WebWork 还提供了一个ServletActionContext实现。它扩展了ActionContext,提供了直接面向Servlet API的容器访问机制。
我们可以直接通过ServletActionContext.getRequest 得到当前HttpServletRequest 对象的引用,从而直接与Web 容器交互。
获得如此灵活性的代价就是,我们的代码从此与ServletAPI 紧密耦合,之后系统在不同平台之间移植就将面临更多的挑战(同时单元测试也难于进行)。
如果条件允许,尽量通过ActionContext 与容器交互,而不是平台相关的ServletActionContext