我一直在使用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
對象?