恕我直言,使用從apache/php傳遞給您的gwt項目的登錄令牌是最好的主意。要通過此令牌,您有三種可能性:
第一個:您可以使用Cookie傳遞您的令牌。寫下您的令牌到一個cookie,並在您的GWT上下文讀一遍:
import com.google.gwt.user.client.Cookies;
Collection<String> cookies = Cookies.getCookieNames();
一個例子在處理來自GWT你可以在GWT-Showcase找到餅乾。
第二個:而不是寫你的令牌一個cookie的,你可以用一個HTTP GET再次你的GWT-範圍內傳遞和閱讀:
// returns whole query string
public static String getQueryString() {
return Window.Location.getQueryString();
}
// returns specific parameter
public static String getQueryString(String name) {
return Window.Location.getParameter(name);
}
這種方法是-IMHO-那個你永遠不應該選擇的人!
第三個:而不是HTTP GET,你也可以使用HTTP POST。 HTTP POST被髮送到服務器。所以你必須用一個簡單的servlet在服務器端處理請求。這可以作爲singelton實現,因此可以從您的GWT服務器上下文中讀取。這種方法有點複雜,並且帶來了很多工作,因爲您必須將您的信息傳遞迴GWT客戶端上下文。
哪個版本最適合你,取決於你項目的細節。通常我會說,Cookie版本是最好的。
感謝您的回覆。我現在在PHP頁面上使用一個隱藏的輸入值來插入一個隨機標記並將該標記的用戶標識保存回數據庫中。在加載時,GWT模塊將讀取並刪除它。 – Satish