2012-02-23 98 views
2

我有一個GWT + Spring Security網絡應用程序。我試圖補充:GWT - 彈簧安全 - 會話超時

<security:session-management invalid-session-url="/X.html"/> 

但是,當我嘗試測試這個。看來我看到:

com.google.gwt.user.client.rpc.InvocationException 

帶有消息作爲X.html的HTML內容。有人可以請建議如何解決這個問題嗎?

+0

什麼是你期待看到? GWT通過ajax RPC調用與服務器通信,它不會將您的瀏覽器重定向到X.html。 – Strelok 2012-02-23 02:41:06

+0

我實際上期望重定向到登錄頁面 - 例如 - X.html – ankurvsoni 2012-02-23 03:19:14

回答

1

由於GWT通過Ajax RPC請求與服務器通信,瀏覽器將不會被重定向到X.html。如果您的服務電話需要做的是,如果他們沒有被授權並在void onFailure(Throwable caught)AsyncCallback的方法中處理,則會拋出異常。

+0

您知道爲什麼當GWT執行Ajax RPC請求時,InvocationException的消息是爲什麼X.html的html內容? – ankurvsoni 2012-02-24 02:06:55

1

如果你想重定向到/X.html嘗試:

Window.Location.replace(GWT.getHostPageBaseURL()+"X.html"); 

但是,如果你想發送請求到服務器使用RequestBuilder:

String url = GWT.getHostPageBaseURL() + "/X.html"; 

RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, URL.encode(url)); 

try { 
    Request request = builder.sendRequest(null, new RequestCallback() { 
    public void onError(Request request, Throwable exception) { 
     // invalid request 
    } 

    public void onResponseReceived(Request request, Response response) { 
     if (200 == response.getStatusCode()) { 
      // success 
     } else { 
      // sth went wrong 
     } 
    } 
}); 
} catch (RequestException e) { 
    // couldn't connect to server 
}