考慮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. 如何識別來自PDA /桌面/服務器的Web請求?
- 3. java web服務:如何識別用戶
- 4. 如何從服務器識別處理請求的用戶
- 5. GWT servlet過濾器,如何識別特殊服務請求?
- 6. SalesForce Web服務 - 請求元素未被識別
- 7. 如何獲得在C#中的Java Web服務請求
- 8. 如何識別cxf Web服務端點
- 9. 如何識別ajax請求?
- 10. Python的Web服務器:如何以服務請求異步
- 11. Java Web服務請求響應問題
- 12. Java。 SOAP請求的Web服務
- 13. 作爲Web服務的Java SOAP請求?
- 14. JQuery使用ASP.Net Web服務的web服務器 - 請求格式無法識別的URL意外終止於
- 15. python web服務器如何識別url中沒有文件名?
- 16. 如何選擇不響應Java web服務中的請求?
- 17. 識別請求
- 18. 服務器無法識別json,使用restSharp發送請求
- 19. 如何存儲Jboss Web服務請求
- 20. 如何測試多個Web請求到我的Web服務器?
- 21. 如何避免阻止Tomcat Web服務器上的Web請求?
- 22. 如何在java中的代理服務器緩存http請求?
- 23. 如何從'n'個服務器中識別MongoDB主服務器
- 24. 在Django中記錄Web服務請求
- 25. 識別用戶發起的web請求
- 26. 如何識別請求來自asp.net mvc中的Web代理?
- 27. Apache HTTP Web服務器請求
- 28. Web服務器日誌WGet請求?
- 29. PHP執行類Web服務器請求
- 30. 如何將請求記錄到Tornado Web服務器的stdout中?
它(隱藏字段)也適用於GET請求,如果它們來自FORM或javascript,但也不適用於鏈接(在這種情況下,url-重寫或自己附加隱藏字段是一種選擇)。 – rurouni 2011-05-26 07:19:41