我正在阅读Struts2 In Action,它说每个请求ActionContext
,ValueStack
和Action
实例都是创建的,因此它们是线程安全的。我想知道框架如何管理会话,因为它不能存储在这些位置,实际Map存储在哪里,以及框架如何管理对该Map的并发访问?
答案 0 :(得分:1)
http会话存储在SessionMap
中,其中其他上下文映射由调度程序在提供请求时存储在操作上下文中。会话映射是http会话对象的包装,并且使用http会话对象监视器同步get
/ put
等操作。它只是同步对http会话属性的访问,但提供Map
实现。