2011-11-14 66 views
0

我想在我的Java應用程序中使用cookie。看看Java API,似乎在java.net包中不支持cookie。我發現的唯一支持就是關於servlet,即java.servlet.http.Cookie。在Java應用程序中使用Cookie

我發現的唯一(最小)支持類是java.net.CookieHandler,但它與java.servlet.http.Cookie管理相比似乎相當複雜。

感謝, 朱塞佩

+1

您想在非HTTP場景中使用cookie嗎?如果不是那麼爲什麼'java.servlet.http.Cookie'不適合你? – Simeon

+0

是的,我的應用程序需要打開http請求並獲得http響應。但我不是服務器端,我沒有servlet。 – eppesuig

回答

1

使用URLConnection你可以得到/分別用頭和加入請求屬性「曲奇」 Cookie添加。這是Java SE原生的。同樣好的第三方庫是Apache's HttpClient/。您提到的類java.servlet.http.Cookie僅適用於在Java EE Application Server中部署的Web應用程序。

+0

沒錯,但我必須注意cookie的細節,即路徑和過期。儘管servlet cookie支持可能會自動管理所有這些複雜性。 – eppesuig

+0

我認爲所有這一切都由服務器負責(即每個cookie都有它的域名,如果它已經過期,它將不會再發送給客戶端等)。看看HttpClient的cookie處理選項,我想你會從那裏獲得所有你需要的。如果您想要在Java中實現的是連接到各種現有HTTP服務器的HTTP客戶端,這一切都是正確的。如果你想在Java SE中啓動你自己的HTTP Server,你有這樣一個使用Java SE 6或更高版本的選項(查找HttpServer javadocs) –

+0

謝謝。我正在尋找只有軟件的jre,所以我想我會使用請求屬性作爲連接級別。 – eppesuig