【发布时间】: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); }
这是服务器实现类
这是 web.xml
控制将转到 onFailure(Throwablecaught) 方法,为什么?
什么问题?
【问题讨论】:
标签: gwt