服務器中的會話支持通常使用對象存儲進行構建。一個簡單的對象存儲將是一個Map或一個Set。該商店中的對象(在Map情況下的值)與邏輯會話的概念具有一對一映射,即對於服務器創建的每個會話,商店中將有一個項目。
商店管理的會話可能允許屬性與它們關聯。這些屬性的列表可能不會事先知道,因此您需要另一個地圖用於此目的;鍵將是屬性名稱,並且值將是屬性值。
就會話存儲管理而言,當您對服務器進行API調用時,您需要在存儲中創建新的會話。簡而言之,如果Web應用程序決定需要創建會話,則服務器的API必須提供必要的接口。單獨創建會話對象是不夠的;您還需要在第一次創建會話時將會話ID寫爲cookie。 API必須允許在這種情況下編寫適當的響應。您可能需要查看Servlet API,特別是HttpServletRequest和HttpSession類,以及用於此目的的servlet容器實現。
關於從請求訪問cookie的話題,您需要解析傳入的HTTP請求頭以檢查瀏覽器發送的任何cookie。爲此,瀏覽器和其他HTTP客戶端需要使用Set-Cookie
請求標頭。只有在請求中提供了有效的cookie時,才需要確保會話對象可以返回到Web應用程序。
我希望你已閱讀[「什麼HttpCore不是」](http://hc.apache.org/httpcomponents-core-ga/tutorial/html/preface.html#d4e39)。除非被告知這麼做,否則它自己的服務器不會創建,加載和存儲Cookie。您需要爲您的服務器構建一個將由開發人員調用的API(例如)。如果您需要幫助,請參閱Tomcat的基本工作原理。 – 2011-06-11 15:40:13
那麼,我會很感激你指着我的方向來處理cookies的圖書館。 – 2011-06-11 15:43:16
我編輯了我的評論。看看一個servlet容器,這是瞭解這個工作原理的最簡單方法。避免查看HttpClient,爲您提供場景的客戶端視圖。 – 2011-06-11 15:44:13