天天看點

标準會話對象——StandardSession

Tomcat使用了一個StandardSession對象用來表示标準的會話結構,用來封裝需要存儲的狀态資訊。标準會話對象StandardSession實作了Session、Serializable、HttpSession等幾個接口,為什麼需要實作這幾個接口呢?Session接口定義了tomcat内部用來操作會話的一些方法;Serializable則是序列化接口,實作它是為了友善傳輸及持久化;HTTPSession是Servlet規範中為會話操作而定義的一些方法,作為一個标準web容器實作它是必然的。另外還會存在一個StandardSessionFacade的外觀類,外觀設計模式相信大家都很熟悉了,前面的Request及Response也使用了同樣的模式,都是出于安全考慮引入一個外觀類,它可以把一些tomcat内部使用的方法屏蔽了,隻暴露web應用層允許調用的一些方法。

标準會話對象——StandardSession

一個最簡單的标準會話應該包括id和Map<String, Object>結構的attribute,id用于表示會話編号,它必須是全局唯一的,attribute用于存儲會話相關資訊,以kv結構存儲。另外還應該包括會話建立時間、事件監聽器、提供web層面通路的外觀類等等。

<a target="_blank" href="https://item.jd.com/12185360.html">點選訂購作者《Tomcat核心設計剖析》</a>

繼續閱讀