问题描述:因为RPC Service接口只支持java的一些基本类型和String,当我的项目中有一个类、List、Map、数组等等,需要传递到前台的时候,GWT想通过编译那么就必须要证明这些是可序列化的,换句话说就是这个Service这个接口就是让我们来往里加入一些不让GWT认为它是可序列化的,前提是实现了Serializable或IsSerializable接口,这个接口里边必须要有相关方法,也就是说必须要有这个类、List、Map、数组等,在里面可以充当参数,也可以充当反回值,但是当我传递的时候用到了第二个类、第三个类…第一百个类,再加上几个数组或者其它的东西时,那么此此时这个接口就应该有N个方法来满足这个要求,这样非常的不便利如:
解决方案:
1、 既然所有的类都需要实现Serializabled接口,那么我们就定义一个接口去extends Serializabled接口
2、 将这个接口放入Service接口中,让GWT认为它是可以通过编译的。
3、 将我们项目中的所有model类都实现这个自定义的接口,这就标识着所有的model类都可以通过GWT编译。
现在的Service接口:
解决完了以后又发现一个新的问题,List、List<String>、List<List<String>>、Map和一维二维数组怎么办呢。还需要再另写几个方法吗?答案是否定的
解决方案:
1、 照葫芦画瓢,将所有的类型都放一个类里(建立一个RpcDTO类)
2、 这个类实现Serializabled接口如图:
这样的话我们的Service接口里只需要两个标识,即可让GWT认为所有的都是可通过编译的。
现在的Service:
再让其变的完美一些,能不能只需要一个方法,这个方法即可以让我们用来标识可序列化,又可以当做服务层来处理我们的请求。
解决方案:
1、 建立一个RpcDTO类让其实现Servializable接口
2、 将所有项目中可能用到的类型都放入其中
3、 将HashMap同样放入其中它的范型为String,Servializable如图:DTO类
Service接口
表达的不怎么清晰,希望对未解决此类问题的人有所帮助.
- 大小: 25.5 KB
- 大小: 51.2 KB
- 大小: 60.3 KB
- 大小: 14.5 KB
- 大小: 19 KB
- 大小: 13.1 KB
- 大小: 19.5 KB
分享到:
相关推荐
当调用发出时,GWT会将参数序列化并发送到服务器,服务器执行方法后将结果返回,GWT再将结果反序列化。 压缩包中的“GWTRPC”可能是一个包含示例代码的文件或目录,它可能包括服务接口、服务实现、服务代理以及必要...
GWT提供了自动类型检查和序列化/反序列化机制,保证了数据的一致性和安全性。此外,由于GWT编译器会进行代码优化,所以通常GWTRPC的性能优于其他基于XML或JSON的手动编码方案。 5. **通讯软件应用**:在"基于GWTRPC...
GWT-RPC为开发者提供了一种高效、简洁的客户端与服务器通信方式,它不仅简化了开发流程,还提高了应用程序的性能和响应速度。通过合理设计数据服务接口和回调类,开发者可以轻松实现复杂的数据交互和业务逻辑处理,...
本文将深入探讨GWT-RPC(Remote Procedure Call)和GWT-Storage的序列化技术,并结合给定的标题和描述,展示如何在客户端实现对象的序列化,以及这个概念证明的意义。 **GWT-RPC序列化** GWT-RPC是GWT提供的一种...
- **序列化与RPC**:GWT不支持Java的标准序列化,但提供了Remote Procedure Call (RPC)机制,用于客户端与服务器间的对象序列化通信。在开发早期就应确保使用的类能够被GWT编译器处理,以避免后期问题。 4. **跨...
1. **序列化**:由于GWT-RPC需要序列化对象,所以服务接口的参数和返回类型必须是可序列化的。 2. **版本兼容**:确保Spring和GWT的版本兼容,避免出现不兼容问题。 3. **错误处理**:正确处理服务器端异常,将其...
2. **序列化**:GWT不支持标准的Java序列化,但提供RPC机制实现服务器交互的自动对象序列化。 四、调试与优化 GWT提供主机模式用于调试,不支持的类库会在首次运行时检测到,因此应尽早并频繁运行程序以发现潜在...
GWT支持在客户端和服务端抛出和捕获异常,但需要特别注意异常的序列化问题,因为只有序列化的异常才能跨域传输。 4.4 **国际化** GWT提供了`com.google.gwt.i18n`包,支持多语言资源文件,方便实现应用程序的国际...
本文将探讨GWT中的通信流程、数据序列化、以及如何利用GWT工具进行应用开发。 首先,GWT通信机制主要基于HTTP协议,采用异步请求模式,以保证用户界面的响应性。当客户端需要与服务器交换数据时,会创建一个异步...
通过序列化Java对象,GWT可以自动处理客户端与服务器间的类型转换和通信细节。 6. **源码分析** 书中的"part1,2,3"可能分别涵盖了GWT的基础、进阶和实战内容。通过源码学习,开发者可以了解GWT内部如何处理事件、...
此外,GWT不支持标准Java序列化,但提供了一种替代的RPC(Remote Procedure Call)机制,以实现客户端与服务器之间的对象序列化和通信。 ### 三、GWT开发注意事项 1. **兼容性检查**:在主机模式下运行GWT应用可以...
这些对象应该只包含可序列化的属性,以适应GWT的限制。 8. **错误处理**:当出现异常时,Spring可以捕获并封装成适当的HTTP响应,而GWT客户端可以解析这个响应并显示错误信息。 9. **版本更新**:考虑到描述中提到...
- **参数和返回值系列化类型**:GWT支持基本类型和某些特定的Java对象的序列化,用于客户端和服务器之间的数据交换。 - **异常处理**:GWT中的异常处理与Java略有不同,需要考虑如何在客户端和服务器之间传递异常...
通过序列化和反序列化,Java对象可以在服务器和客户端之间安全地传输。 5. **历史管理**:GWT提供了历史记录管理功能,使得用户在浏览应用的不同页面或状态时,可以利用浏览器的前进和后退按钮导航,保持良好的用户...
当客户端需要调用服务器上的方法时,会序列化参数并通过HTTP POST请求发送到服务器,服务器端的Servlet解析请求,执行相应的方法,并将结果返回给客户端。 3. **服务端入口点**:在`gwt-servlet-2.3.0.jar`中,`...
这些代理类是由GWT编译器自动生成的,它们负责序列化和反序列化数据,以及处理网络通信。 7. **模块化开发**:Spring4GWT支持GWT的模块化,这意味着开发者可以将应用程序分解为多个独立的GWT模块,每个模块负责一...