我有一个GWT + Spring Security网络应用程序。我试图添加:
<security:session-management invalid-session-url="/X.html"/>
但是,当我尝试测试时。我好像看到了:
com.google.gwt.user.client.rpc.InvocationException
将消息作为X.html的HTML内容。有人可以建议如何解决这个问题吗?
答案 0 :(得分:1)
由于GWT通过Ajax RPC请求与服务器通信,因此浏览器不会重定向到X.html
。如果未经授权,您需要在服务调用中执行操作,并使用void onFailure(Throwable caught)
的{{1}}方法处理。
答案 1 :(得分: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
}