如果你使用eclipse IDE 开发gwt 应用程序,那么最好同时使用cypal 这个gwt 的eclipse 插件.
安装cypal
在 http://code.google.com/p/cypal-studio/ 下载cypal , 你的eclipse 至少要是JEE 的开发环境, 它至少需要WTP 这个插件. 如果你是在3.4 下, 你可以直接把所有jar文件放在dropins 目录下, 或者在dropins 目录下建立Cypal/plugins 目录,然后把jar 文件放在下面, 如果第一次启动你在windows / preference 里面没有看到cypal 的设置, 你可以在命令行下用eclipse.exe clean 清理一下, 应该就能看到了.装好了cypal 之后在windows / preference 里面设置一下cypal , 指定gwt home .到你解压的gwt 目录.
创建GWT 程序
新建一个Dynamic Web Project , 在向导里面, dynamic web module version 选2.4 , 下面的configuration 里面就可以选到Cypal Studio for GWT , 选其他的dynamic web module version 不行(2.2 的话用的时gwt jdk1.4 的). target runtime 可以不选, 也可以指定一个tomcat 或其他容器.
创建一个GWT module .
创建好了project 之后 , 再新建一个GWT Module. 比如叫HelloGwt , 它当然要实现EntryPoint ,
package mypackage.client;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.Widget;
public class HelloGwt implements EntryPoint {
public void onModuleLoad() {
Label label = new Label("Hello GWT !!!");
Button button = new Button("Say something");
button.addClickListener(new ClickListener() {
public void onClick(Widget sender) {
Window.alert("Hello, again");
}
});
RootPanel.get().add(label);
RootPanel.get().add(button);
}
}
运行GWT 程序
你可以点击你的项目,然后Run -> Run Configurations , 然后选择 GWT Hosted Mode Application , 选择Project 和 Module 之后运行
或者你也可以右键点<module>.gwt.xml 文件, 对于这个项目来说就是 hello.gwt.xml 文件, 然后选择GWT Hosted Mode Application , 它会直接运行.
GWT 项目文件结构
创建一个GWT项目后,它的文件结构一般如下:
1. Module descriptor , 描述你的应用程序的EntryPoint
2. Public resources , 放HTML ,JS , CSS , image文件的地方
3. Source Code, 放你的Java 代码的地方
导入GWT 自带的示例
从cypal 里面可以导入gwt 自带的那几个示例项目. 在创建好的gwt 项目里面,点击New -> Example -> GWT Example , 然后在Sample 里面可以选择GWT 自带的那几个示例.
部署到其他容器
跟其他Web Project 一样, 部署到其他容器, 只需要在Server 里面添加一个新的runtime server . 然后选择你的GWT 项目,然后运行Run As –> Run on Server . 就可以了
打包成War 文件
你可以选择 File->Export->Export as war 将你的项目打包成War 文件以方便部署, 它其实就是把你的build/gwtOutput 下的文件打包 (这个位置是在Preference 里面设置的),
参考资料:
1 . http://www.vogella.de/articles/GWT/article.html
2 . http://www.cypal.in/studiodocs
cypal 的使用说明
3. http://www.ibm.com/developerworks/cn/opensource/os-eclipse-ajaxcypal/
IBM 上一篇使用cypal 的文章,有点老了.