Java 如何从GWT';s客户端到服务器?
我试图在服务器端记录客户端的异常。所以我需要将它们从客户端发送到服务器 我为此目的创建了服务:Java 如何从GWT';s客户端到服务器?,java,gwt,exception-handling,Java,Gwt,Exception Handling,我试图在服务器端记录客户端的异常。所以我需要将它们从客户端发送到服务器 我为此目的创建了服务: public interface LoggerService extends RemoteService { void logerror(Throwable e); } 在客户端,我使用GWT.setUncaughtExceptionHandler(uncaughtExceptionHandler): GWT.UncaughtExceptionHandler UncaughtExceptio
public interface LoggerService extends RemoteService {
void logerror(Throwable e);
}
在客户端,我使用GWT.setUncaughtExceptionHandler(uncaughtExceptionHandler):
GWT.UncaughtExceptionHandler UncaughtExceptionHandler=new
GWT.UncaughtExceptionHandler(){
未授权例外情况下的公共无效(可丢弃的e){
loggerservicesync loggerService=GWT.create(loggerService.class);
loggerService.logerror(e,新的AsyncCallback(){
@凌驾
成功时公开作废(作废arg0){
SC.say(“记录客户错误”);
}
@凌驾
失败时公共无效(可丢弃arg0){
SC.say(“无法记录客户的错误”);
}
});
}
};
当我使用托管模式时,它工作正常。但当我尝试使用web模式时,我的LoggerService无法工作。我知道在托管模式下,异常会从js“转换”为java。但我不明白为什么我的logerror(Throwable e)方法在web模式下根本不调用。服务器响应为200。GWT提供了一种基础结构,方便客户端向服务器发送日志消息。开始时,这会使您的实现稍微复杂一些,但可能会建立一种跨应用程序进行日志记录的方法。最后,我添加了用于在服务器上记录客户端异常的功能。谢谢,明天将尝试此功能,看起来这就是我正在寻找的。是否有任何方法可以在web模式下使用GWT日志记录来获得“正常”的java stacktrace?
GWT.UncaughtExceptionHandler uncaughtExceptionHandler = new
GWT.UncaughtExceptionHandler() {
public void onUncaughtException(Throwable e) {
LoggerServiceAsync loggerService = GWT.create(LoggerService.class);
loggerService.logerror(e, new AsyncCallback<Void>() {
@Override
public void onSuccess(Void arg0) {
SC.say("Client's error logged");
}
@Override
public void onFailure(Throwable arg0) {
SC.say("Unable to log client's error");
}
});
}
};