1.1、$wnd.isc no define 或 为空:
解决:是eclipse的环境没有配置好。检查jar文件是否从其它工程copy,改成eclipse自动生成的gwt jar包;smartgwt的jar一定是从smart网站自已下载的。
2、在gwt google 编译环境下,获取数据库连接进行数据库操作会报错;也就是说google编译环境下,只能进行客户端的编译。
GWT的最重要的功能应属他的RPC调用机制,是Ajax技术的扩展,它包括三个部分:远程接口,服务器实现,异步接口文件。
1.远程接口需要继承RemoteService接口,然后在这个接口上添加Java注记 (@RemoteServiceRelativePath(“url”)),这个注记的参数指明实现这个接口的Servlet的URL路径,在浏览器 端,GWT使用延迟绑定创建这个接口的实现类。
2.GWT-RPC是基于Servlet实现的,在服务器端我们要实现RPC的接口类,并派生于 com.google.gwt.user.server.rpc.RemoteServiceServlet类,这个类由GWT提供,派生于 HttpServlet类。当浏览器端请求这个Servlet时,它会反射自身,查找实现了客户请求的函数,将浏览器端的请求反序列化并调用找到的函数。 函数执行完成后,它将返回值序列化后传递给浏览器端。服务端的实现就是这样的Servlet具体实现远程接口的方法。
3.我们需要通过异步的方式调用浏览器端的远程接口,于是就需要定义一个远程接口的异步版本,远程接口和异步版本放在同一个包中。并且接口名必须为 [接口名]Async。RPC接口中每一个函数都需要定义一个相对应的异步函数,异步函数的返回值为null,同时在增加一个额外的 AsyncCallback>参数,AsyncCallback>是泛型类,泛型参数为RPC函数的返回值类型。
举个例子具体说明三个部分是如何整合的
EmployeeService(远程接口)
@RemoteServiceRelativePath("employeeService")
public interface EmployeeService extends RemoteService{
public Boolean checkSex(String sex);
}
/****************
EmployeeServiceAsync(异步接口文件)
public interface EmployeeServiceAnsyc {
public void checkSex(String sex,AsyncCallBack callback);
}
/****************
EmployeeServiceImpl(服务器实现)
public class EmployeeServiceImpl extends RemoteServiceServlet implements EmployeeService{
public Boolean checkSex(String sex){
if("man".equals(sex)){return true;}
else{return false;}
}
}
在web.xml中对Servlet 添加
emploeeService
com.gwt.server.service.EmployeeServiceImpl
.........
在浏览器端调用的时候,代码如下:
//获取EmployeeServiceAsync对象
EmployeeServiceAsync employeeService = (EmployeeServiceAsync)GWT.create(EmployeeService.class);
//设定ServiceEntryPoint的URL
ServiceDefTarget target = (ServiceDefTarget)employeeService;
target.setServiceEntryPoint(GWT.getModuleBaseURL()+"employeeService.gwt");
employeeService.checkSex("man",new AsyncCallback(){
@Override
public void onFailure(Throwable caught){
//失败
Window.alert("Failed to get response from server :/n"+caught.getMessage());
}
@Override
public void onSuccess(Boolean result){
if(result){
Window.alert("check Sex success ;it is man ! ");
}else{Window.alert("check Sex success ;it is woman ! ");}
}
});
其它内容:
GWT基本控件 http://examples.roughian.com/index.htm#Home
GWT官方文档 http://code.google.com/intl/zh-CN/webtoolkit/
其它GWT开发相关文章
http://www.**.com/topic/128194
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/118838/viewspace-735108/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/118838/viewspace-735108/