当前位置: 代码迷 >> Web前端 >> 支配Vaadin到Google App Engine
  详细解决方案

支配Vaadin到Google App Engine

热度:329   发布时间:2012-11-23 00:03:43.0
部署Vaadin到Google App Engine

Vaadin是一个非常优秀的RIA框架,类似ZK,网站 上有非常丰富的教程、文档,很容易入手。Vaadin最新版本是 6.3.1,netbeans和eclipse都有相应plugin便于快速开发。

在Google App Engine中部署Vaadin应用有两种方式,我使用的是Vaadin plugin for Eclipse

?

Vaadin网站上有详细教程(here ),部署的时候需要注意两个问题。首先,注意教程中这部分内容:

?

?

Note! There is a problem in the latest GAE plugin which prevents this from working. If you get an error like "The App Engine SDK 'C:\<workspace path>\<project name>\war' on the project's build path is not valid" do the following:

1. Open preferences -> Google -> App Engine and select the sdk version again
2. Open prefercense -> Java Build Path -> Export Order. Change the Export order so that the App Engine SDK is ABOVE the "Web App Libraries" classpath container.

?

开始的时候没有在意这段话,还以为是创建项目过程出的问题!其次就是程序运行调试问题,记着要使用Run As Web Application(或Debug As Web Application),这是GAE plugin提供的。如果使用项目创建时选择的Target Runtime(比如Tomcat)来运行程序,一定会得到空指针异常。

1 楼 xcv4javaeye 2010-06-19  
vaadin的application和Web page是一一对应的嘛?
2 楼 qingniu 2010-06-20  
从开发的视角看,Vaadin是基于事件驱动的,和swing类似,开发Vaadin的时候,你会感觉和开发桌面应用没什么区别,所以不用考虑Web page的对应问题,从代码层面是找不到的。(如果真要找,要到Vaadin类库里了)
3 楼 xcv4javaeye 2010-06-28  
可是开发N个page的一个web应用,应该写多少个Application呢?如果是N个,之间怎么通信呢?
4 楼 qingniu 2010-06-29  
一般情况下,只要一个继承Application的类,作为程序入口(在web.xml中配置一个servlet即可)。和Applet很相似,我们开发Applet,也只要一个一个继承Applet的类作为入口。其它ui根据业务开发,之间通信是基于事件对象。看一下Vaadin自带Adressbook例子吧,那个教程很详细,看完你就明白了!
5 楼 xcv4javaeye 2010-06-30  
但是那个addressbook太简单了啊,实际业务中必然会有页面布局大大不同的n个页面,有时n可能会是十几这个量级的,这种情况下,把所有布局都放在一个Application下就显得太臃肿了吧?
6 楼 qingniu 2010-06-30  
你可以看看用Vaadin开发的开源项目,processbase和kissy-backoffice。
7 楼 flashcloud 2010-08-17  
一直持续关注Vaadin,对Swing开发模式熟悉的朋友简直太容易了,非常值得推荐。确实,一套成熟稳定的框架,需要一个强有力且积极的团队。然后社区也非常重要,这一点还待发展,希望有更多的朋友使用此框架,对企业应用开发的效率绝对有非常大的提升。
  相关解决方案