控制权在 GWT 中转到 onFailure() 的原因是啥?

Posted

技术标签:

【中文标题】控制权在 GWT 中转到 onFailure() 的原因是啥?【英文标题】:what will be the reason that control is going to onFailure() in GWT?控制权在 GWT 中转到 onFailure() 的原因是什么? 【发布时间】:2010-11-19 06:04:02 【问题描述】: 公共接口 LoginService 扩展 RemoteService 公共静态最终字符串SERVICE_URI =“/登录”; 公共静态类实用程序 公共静态 LoginServiceAsync getInstance() LoginServiceAsync 实例 = (LoginServiceAsync) GWT.create(LoginService.class); ServiceDefTarget 目标 = (ServiceDefTarget) 实例; target.setServiceEntryPoint(GWT.getModuleBaseURL() + SERVICE_URI); 返回实例; public boolean userIsValid(Map loginData);

Entry 类是

公共无效 onModuleLoad() final LoginServiceAsync loginService = ( LoginServiceAsync )GWT.create( LoginService.class ); ServiceDefTarget 端点 = ( ServiceDefTarget )loginService; String moduleRelativeURL = GWT.getModuleBaseURL()+"登录"; endpoint.setServiceEntryPoint(moduleRelativeURL); this.setLoginPanel(); 最终 AsyncCallback 回调 = 新 AsyncCallback() 公共无效onSuccess(对象结果) // 获取来自服务器的结果 boolean ok = Boolean.valueOf(result.toString()).booleanValue(); 如果(好) MessageBox.alert("成功", "登录成功!"); 别的 MessageBox.alert("无效", "用户名或密码错误"); 公共无效onFailure(Throwable被捕获) MessageBox.alert("错误", "登录时出错"); ; loginButton = new Button("登录"); loginButton.addListener(new ButtonListenerAdapter() public void onClick(Button button, EventObject e) 映射 loginData = getUserData(formPanel.getForm()); loginService.userIsValid(loginData, 回调); ); formPanel.addButton(登录按钮); loginPanel.setBorder(假); loginPanel.setPaddings(5); loginPanel.add(formPanel); RootPanel.get().add(loginPanel);

这是服务器实现类

公共类 LoginServiceImpl 扩展 RemoteServiceServlet 实现 LoginService public boolean userIsValid( 映射 loginData ) 布尔接受 = 假; String name = loginData.get("userName").toString(); String pswd = loginData.get("pswd").toString(); if(name.equals("yugal") && pswd.equals("yugal")) 接受=真; 别的 接受=假; 接受退货;

这是 web.xml

登录服务 org.arosys.server.LoginServiceImpl 登录服务 /登录

控制将转到 onFailure(Throwablecaught) 方法,为什么? 什么问题?

【问题讨论】:

【参考方案1】:

如果没有任何服务实现代码,也没有堆栈跟踪,这是无法判断的。能否提供一些代码和抛出的异常?

Here 一些关于如何处理异常的信息。

【讨论】:

以上是关于控制权在 GWT 中转到 onFailure() 的原因是啥?的主要内容,如果未能解决你的问题,请参考以下文章

GWT RPC 失败,没有错误也没有异常

GWT:响应无法反序列化

GWT 和不可重现的 503 错误

拦截 GWT RPC 的异步代理服务异常

GWT 调试器失去控制

在 iOS 8 中转到另一个视图控制器而不显示第一个视图控制器