我一直在使用Struts 2很长一段时间。Struts 2中的SessionAware设计
如果执行SessionAware
接口我们的动作类我们会得到SessionMap
但不是HttpSession
对象。
在ServletRequestAware
和ServletResposeAware
情况下,我们得到的SessionAware
情况下,像SessionMap
HttpServletRequest
和HttpServletResponse
对象,但没有包装对象。
我的问题是,如果Struts是给我们SessionMap
而不是HttpSession
脱钩我们从Servlet API中和HTTP协议操作类,那么为什么它给我们的情况下,ServletRequestAware
和ServletResponseAware
HttpServletRequest
和HttpServletResponse
对象。
如果Struts不希望将Servlet API和HTTP协议从操作类中分离出来,那么为什么它在SessionAware
接口的情况下给我们提供了SessionMap
。
为什么我们不会得到HttpSession
对象?