Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 运行GWT应用程序时发生异常_Java_Gwt_Exception_Rpc - Fatal编程技术网

Java 运行GWT应用程序时发生异常

Java 运行GWT应用程序时发生异常,java,gwt,exception,rpc,Java,Gwt,Exception,Rpc,我已经构建了我的第一个GWT应用程序。不提供编译错误,也不提供运行时错误。但是,当应用程序加载到浏览器(使用Interner Explorer)时,我输入用户名和密码字段来验证用户,它会抛出异常。使用GWT-RPC方法,提供了完整的代码和接口。 我正在使用HSQL进行数据库连接(后端) ------------------代码(客户端) ----------------------------客户端异步接口 package com.vin.client; import com.google.g

我已经构建了我的第一个GWT应用程序。不提供编译错误,也不提供运行时错误。但是,当应用程序加载到浏览器(使用Interner Explorer)时,我输入用户名密码字段来验证用户,它会抛出异常。使用GWT-RPC方法,提供了完整的代码和接口。 我正在使用HSQL进行数据库连接(后端)

------------------代码(客户端)

----------------------------客户端异步接口

package com.vin.client;

import com.google.gwt.user.client.rpc.AsyncCallback;

public interface UserServiceAsync {
    public void loginuser(String username, String password, AsyncCallback<String> callback);
}
------------------尝试验证用户时出现异常列表

15:22:54.583[错误][helloworld]未捕获的异常已转义 com.google.gwt.event.shared.ummbrella异常:一个或多个异常 捕获,请参阅雨伞中的全套异常#获取原因 位于com.google.gwt.event.shared.handlermager.firevent(handlermager.java:129) 位于com.google.gwt.user.client.ui.Widget.firevent(Widget.java:129) 在com.google.gwt.event.dom.client.DomEvent.fireNativeEvent(DomEvent.java:116)上 在com.google.gwt.user.client.ui.Widget.onBrowserEvent(Widget.java:177)上 位于com.google.gwt.user.client.DOM.dispatchEventImpl(DOM.java:1351)


还有更多类似的功能。

我认为您不能在服务器端使用Window.alert(在UserServiceImpl类中)。可能有许多客户机,而服务器不知道它指向的客户机是什么


但我不确定它是否会导致此错误。

我认为您不能在服务器端(在UserServiceImpl类中)使用Window.alert。可能有许多客户机,而服务器不知道它指向的客户机是什么

但我不确定它是否会导致此错误。

类提供对浏览器窗口的方法、属性和事件的访问。所以你不能在服务器端使用它。当需求满足时,最好返回字符串
“success”
,否则返回
Exception
,这样它就会被客户端的
onFailure
捕获。

类提供对浏览器窗口的方法、属性和事件的访问。所以你不能在服务器端使用它。当需求满足时,最好返回字符串
“success”
,否则返回
Exception
,这样它就会被客户端的
onFailure
捕获

package com.vin.client;

import com.google.gwt.user.client.rpc.RemoteService;

public interface UserService extends RemoteService {
    public String loginuser(String username, String password);
}
package com.vin.client;

import com.google.gwt.user.client.rpc.AsyncCallback;

public interface UserServiceAsync {
    public void loginuser(String username, String password, AsyncCallback<String> callback);
}
package com.vin.server;

import java.sql.DriverManager;
import java.sql.ResultSet;
import com.google.gwt.dev.generator.ast.Statement;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
import com.vin.client.UserService;

public class UserServiceImpl extends RemoteServiceServlet implements UserService{
    private static final long serialVersionUID = 1L;

    public String loginuser(String username,String password) {
        try {
            java.sql.Connection con = null;
            Class.forName("org.hsqldb.jdbcDriver");
            con = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/", "SA", "");
            Statement st=(Statement) con.createStatement();
            ResultSet rs=((java.sql.Statement) st).executeQuery("select username,password from lgfrm");
            String user=rs.getString(1);
            String pass=rs.getString(2);
            if(username.equals(user) && password.equals(pass)) {
                Window.alert("success");
            }
        }
    catch (Exception ae) {}
        return "success";
    }
}