我正在使用Rest體系結構消耗一些在java中完成的Web服務,我的客戶端是使用HttpConnection來檢索數據的移動應用程序。爲了控制身份驗證和授權,我使用Cookie,由@SessionScoped類管理,但我不知道如何通過請求使會話持續存在。問題的根本在於我在其他服務中注入了Session管理器,但是由於會話沒有持久化,我總是爲@SessionScoped類檢索不同的實例,從而刪除了之前的所有cookie或記錄。查看請求標頭,我注意到了JSESSIONID的Cookie,我認爲這是由tomcat發送的,以便持久化會話,所以嘗試在下一個請求中發送相同的cookie,但是我沒有得到任何結果。HttpConnection維護會話
0
A
回答
0
評論是正確的......要堅持一個會話,您只需在下一個請求中將JSESSIONID cookie發送回服務器,這種情況下的問題是JavaME中的HttpConnection只有setRequestProperty方法才能包含頭值,現在如果您將相同的值設置爲兩次,它將覆蓋最後一個值。由於我使用的是自定義的cookie和JSESSIONID餅乾,我設置好的他們通過以下方式:
connection.setRequestProperty("Cookie","sessionId="+ApplicationPreferences.getInstance().getSessionCookieHeader());
connection.setRequestProperty("Cookie","JSESSIONID="+ApplicationPreferences.getInstance().getJavaSessionCookieHeader());
當正確的方式做到這一點是串聯cookie的字符串,然後設置與他們全部Cookie頭:
String myCookies="sessionId="+ApplicationPreferences.getInstance().getSessionCookieHeader()+";"+"JSESSIONID="+ApplicationPreferences.getInstance().getJavaSessionCookieHeader();
相關問題
- 1. 維護Facebook會話
- 2. PhoneGap會話維護
- 3. WCF會話維護
- 4. merb_auth_password_slice不會維護會話
- 5. CakePHP - 維護用戶會話
- 6. 如何維護會話?
- 7. 通過Angular.js維護會話
- 8. 在grails中維護會話
- 9. Passport.js維護CROS域會話
- 10. 在Silverlight中維護會話
- 11. 維護PHP文件會話
- 12. 維護HTTP會話春
- 13. JIRA維護登錄會話
- 14. 維護會話登錄
- 15. 維護登錄會話
- 16. 會話如何在WCF中維護?
- 17. 在Android中維護用戶會話
- 18. 通過重寫URL來維護會話
- 19. 如何維護iPhone的會話
- 20. 在jQuery Mobile中維護會話
- 21. Facebook C#SDK維護會話狀態
- 22. 會話變量沒有維護Response.Redirect
- 23. WebBrowser控件沒有維護會話
- 24. 使用Angularjs在PHP上維護會話
- 25. 如何在Spring MVC中維護會話?
- 26. 在html5/jquery中維護同一會話
- 27. 在laravel 4中維護會話
- 28. 跨中繼域維護會話?
- 29. 在C類中維護會話#
- 30. 在jsf和javabean中維護會話
當你說「HttpConnection」時,你是否確實是指'HttpURLConnection'?如果是這樣,請繼續閱讀:http://stackoverflow.com/questions/2793150/how-to-use-java-net-urlconnection-to-fire-and-handle-http-requests – BalusC 2012-02-03 16:28:17
不......不幸的是我使用JavaME,這就是爲什麼它是HttpConnection – Pablo 2012-02-03 16:54:13
在我的頭我接收這樣的事情頭:1,設置Cookie:JSESSIONID = C2j31psXI5bEhlXwXdormU3L;路徑= /簡單的登錄; Secure – Pablo 2012-02-03 16:58:52