考慮senario,我在Servlet中使用servlet和httpSession對象,並且我將一些數據添加到會話對象中,並將響應發送到客戶端,並且客戶端發送對下一個需要存儲在會話對象中的信息的servlet頁面的請求。現在,Web服務器如何能夠通知客戶端發出的請求,並與之前請求創建的特定會話對象相關聯?假設如果cookies被禁用?Web服務器如何在Java中識別請求?
3
A
回答
1
如果cookies不可用,會話跟蹤會在URL重寫時發生。服務器中的每個URL都應該使用會話標識進行編碼(HttpResponse.encodeURL()爲您完成此操作)。
另一種方法是通過隱藏字段爲會話ID。但是,這僅適用於POST請求。
2
現在怎麼一個Web服務器可以能夠通知客戶端給出的請求與以前的請求創建perticular會話對象聯繫?
通常它使用cookie。該cookie存儲服務器與會話對象相關聯的唯一標識符。
看看您的瀏覽器cookie jar,您可能會發現一個爲您的網站存儲的jsessionid
cookie。
還有其他技術用於實現使用URL重寫或隱藏表單字段的會話。儘管使用cookie是最常見和默認的技術。
0
餅乾是迄今爲止在Java Web服務器中實現http會話最流行的技術。除了cookie之外,還可以使用其他兩種技術 - url重寫(即向服務器生成的每個URL附加一些額外信息,這有助於識別會話)以及隱藏在表單中的隱藏字段,其值包含識別會話所需的信息。
相關問題
- 1. 如何識別服務器場中的哪個Web服務器提供請求?
- 2. java web服務:如何識別用戶
- 3. GWT servlet過濾器,如何識別特殊服務請求?
- 4. 如何從服務器識別處理請求的用戶
- 5. SalesForce Web服務 - 請求元素未被識別
- 6. Python的Web服務器:如何以服務請求異步
- 7. JQuery使用ASP.Net Web服務的web服務器 - 請求格式無法識別的URL意外終止於
- 8. python web服務器如何識別url中沒有文件名?
- 9. 如何選擇不響應Java web服務中的請求?
- 10. 識別請求
- 11. 服務器無法識別json,使用restSharp發送請求
- 12. 如何存儲Jboss Web服務請求
- 13. 如何避免阻止Tomcat Web服務器上的Web請求?
- 14. 如何測試多個Web請求到我的Web服務器?
- 15. 如何在java中的代理服務器緩存http請求?
- 16. 如何從'n'個服務器中識別MongoDB主服務器
- 17. 識別用戶發起的web請求
- 18. 在Django中記錄Web服務請求
- 19. 如何識別請求來自asp.net mvc中的Web代理?
- 20. Apache HTTP Web服務器請求
- 21. PHP執行類Web服務器請求
- 22. 如何將請求記錄到Tornado Web服務器的stdout中?
- 23. 如何識別http請求是來自瀏覽器還是來自代理服務器(或服務器)?
- 24. 如何請求身份識別服務器4的刷新令牌
- 25. Web服務請求日誌
- 26. 請求到Web服務(POST)
- 27. REST Web服務POST請求
- 28. 動態web服務請求
- 29. 壓縮web服務請求
- 30. 調試Web服務請求
它(隱藏字段)也適用於GET請求,如果它們來自FORM或javascript,但也不適用於鏈接(在這種情況下,url-重寫或自己附加隱藏字段是一種選擇)。 – rurouni 2011-05-26 07:19:41