2009 GWT
gwt和Gears
localServer Cache and serve application resources (HTML, JavaScript, images, etc.) locally
在本地缓存和提供应用程序资源(HTML、JavaScript、图片等)
Database Store data locally in a fully-searchable relational database
将数据存储在本地可以完全搜索的关系数据库中
WorkerPool Make your web applications more responsive by performing resource-intensive operations asynchronously
通过异步执行资源优化操作使网络应用程序的响应速度更快
gwt和hibernate
http://code.google.com/webtoolkit/articles/using_gwt_with_hibernate.html
上面这篇文章介绍了三种gwt和Hibernate整合的方式:DTO,Dozer,Gilead;里面提到:在大数据量的情况下,DTO的方式比Dozer和Gilead的方式能够减轻浏览器的负担。
因为这个例子主要是通过处理HSQLDB的方式
由于没有使用HSQLDB的经验,临时决定使用Mysql代替之,目前看来,没有问题;
现在由于对数据库的操作已经调试成功,所以将重点转向为UI构建,这应该是项目的重点。下面将MusicStore项目中UI方面的学习记录如下:
这个UI主要是一个tab panel,包含三个views,一是增加账户和记录;二是把记录和账户建立联系;三是查看账户和记录;
1.创建tab panel,创建RPC服务接口;
2.对于第一个view,创建createEntriesPanel和两个子panel,
3.创建addRecordsToAccountPanel,
4.创建viewAccountRecordsPanel,
5.给tab增加鼠标操作;
6.把tab panel 增加到RootPanel中;
gwt学习
com.google.gwt.user.client.rpc.ServiceDefTarget 接口:
这个接口用于配置entry point类以便它可以指向已定义的 servlet或者类,比如:
ServiceDefTarget endpoint = (ServiceDefTarget) todoListBackupService;
endpoint.setServiceEntryPoint("/todoListBackupService");
客户端:
com.google.gwt.user.client.rpc.RemoteService 接口:
创建一个定义您的服务的接口。该接口必须扩展 Google 的 com.google.gwt.user.client.rpc.RemoteService 接口,并可以放到客户端程序包(本例为 otn.todo.client)中。然后,对接口进行编码以便允许您在服务器上读取和写入工作列表。
服务端:
com.google.gwt.user.server.rpc.RemoteServiceServlet 接口:
扩展 Google 的 com.google.gwt.user.server.rpc.RemoteServiceServlet 类(该类反过来会扩展 Java 的 javax.servlet.http.HttpServlet,有效使其成为 servlet) 实现客户端的接口。
粘合剂是 Async 类,它必须遵循几个规则:
- 位于客户端程序包中。
- 其名称与步骤 1 中描述的接口的名称相同,最后面添加 Async。
- 其方法与步骤 1 中描述的接口的方法相同,但是它们都回调一个附加参数 com.google.gwt.user.client.rpc.AsyncCallback。
gwt in practice
第二章:这章主要是个calculator的例子,
1. 构建这个widget;
- 初始化controller:CalculatorController;
- 确定布局:使用GWT 的 grid;
- 往布局中增加需要的button:ButtonDigit, ButtonOperator,Button
- 增加需要的TextBox:
- model变化的同时更新view;
第三章:
第四章:
1.building a model
2.building view components
- 继承widgets
- 继承composite
- 绑定model和events
3.The controller and service
- 创建一个简单的controller
- 能使用JPA功能(JPA-enabled)的model
- 创建一个JPA-enabled的service
第五章:
1. web开发的方法和安全问题
2. Rest和Pox通信
3. Java和Javascript之间的交互
4.用Flash创建一个跨域的SOAP客户端
5.在gwt中包含applets
第六章:使用现有的Ajax库
1. JSNI
2. 使用js库
3. gwt和js的交互
4.
第七章:构建,打包和发布
1. gwt module打包
2. 构建并发布应用程序
第八章:测试和整合
1. gwt测试
2. 测试概念
4.整合
第九章:构建一个工业Java程序
1.construct two models:
2.mapping to DTOs
3.wiring application with spring
4.construct the client application:
- The controller and global model:
- The basic CRUD wrapper
- The BookEdit widget
第十章:构建the storefront
1. 增强gwt应用程序的安全性
2. 构建一个dnd系统
3. JSNI特效
第十一章:管理应用程序的状态
1. 一个应用程序
2. 创建一个基本的messaging service
3. 在客户端和服务端处理messages
- messages和CometEvents
- 传递流messages到客户端
- 接收图像
4. 记录与回放
5. 处理服务端的状态
6. 增加与清除UI