2011-12-02 59 views
0

我們可以使用已使用.NET MVC代碼編寫的core-java讀取cookie嗎?我沒有找到任何幫助如何閱讀使用核心Java代碼的cookie?我們可以使用已使用.NET MVC代碼編寫的core-java讀取cookie嗎?

更多背景細節 -

其實我們有一個Java桌面應用程序,我們計劃使用JWS推出的是Java桌面應用程序和工作精絕。

問題是 - 我們在網頁上向用戶詢問一些用戶相關信息,並使用JWS啓動java桌面應用程序。現在我們希望在我們的Java應用程序的網頁上提供用戶提供的信息。

我們已經將這些信息寫入了cookie,我們如何從java代碼中讀取這些信息?

回答

1

是的,你可以接收已被其他應用程序設置(只要在cookie的路徑值相匹配)餅乾。 Cookies是HTTP協議的一部分,並不重要如何定義。客戶端根據URL路徑在將來的請求中發送它們。

要訪問Java中的Cookie,請查看HttpServletRequest中的getCookies()

更新

您的網絡的應用程序,啓動Java客戶端將在瀏覽器客戶端的情況下被設置設置的cookie。 Cookie被添加到HTTP響應中,並由接收它們的客戶端緩存。

在描述的情況下,您無法在沒有欺騙的情況下從Java客戶端訪問同一個服務器會話。

我將使用的解決方案是在Web應用程序中生成一個唯一標識,該標識作爲參數傳遞給Java客戶端,該客戶端可以通過使用生成的URL獲取其他會話所需的值ID作爲參數。 (這實質上是將兩個HTTP會話連接爲同一用戶進程的一部分。)

例如,您可以使用HttpURLConnection和URL(如<web-app>/data?id=<ID>)從Web應用程序中以XML的形式獲取/下載值。

+0

我編輯了我原來的問題。使用您的建議,我還能夠閱讀cookies嗎? –

+0

@Ashish Pancholi,查看更新 – rsp

+0

非常感謝。看起來我非常接近解決方案,但在上一段中我很難理解你的建議。我只理解唯一的ID將作爲參數傳遞給java客戶端。我如何請求使用該唯一ID的值?你能否添加一些細節?我不完全瞭解如何獲得連接並獲取詳細信息? –

0

Core-java?然後嘗試使用java.net。*: Cookie只是URL內容前帶有「Set-Cookie:」的標題行。

http://www.hccp.org/java-net-cookie-how-to.html

+0

我編輯了我原來的問題。使用您的建議,我還能夠閱讀cookies嗎? –

+0

服務器可以從第一個答案中使用getCookies。在java webstart應用程序中,您可以使用我指向的代碼。您不能使用瀏覽器的cookie,因爲您的jws應用程序,瀏覽器和服務器url沒有安全關係。你可以考慮使用apache類HttpClient。 –

+0

http://docs.oracle.com/javase/1.5.0/docs/guide/deployment/deployment-guide/cookie_support.html#cookie_support可能是最好的方式 –

相關問題