2009-11-25 67 views
1

我很想用Gwt和App Engine构建一个应用程序。我更熟悉App Engine:使用servlet和jsp创建动态html页面。不过,我想知道,如果这种类型的应用程序技术属于GWT?gwt和动态服务器处理。他们是否在一起?

我可以预见到的两个例子是登录和数据库检索。

对于用户登录,我目前的方法很简单:在servlet的开始处,检查用户对象是否存在。如果是,则显示该页面。如果没有,请重定向到Google的登录服务。这个模型如何适合GWT?在我看来,GWT编译成你放在服务器上的静态html/javascript/css文件。通过这种方法,在服务静态页面之前(因为任何用户都可以绕过servlet并直接输入静态页面url),似乎不可能执行任何服务器处理来检查vlid用户。

另一个示例将显示来自应用程序引擎数据存储区的数据。如果我想创建一个表,其中每行是从数据存储的条目,我会动态地创建一个servlet中的HTML,并在那里做我的数据存储访问等等。看来与GWT我将不得不服务一个容器的HTML页面,然后使用ajax在事实之后加载数据库内容?

也许GWT不适合我的应用类型,或者我只是关于Web应用程序开发的错误方式。一些澄清将不胜感激。

回答

1

在了简化的意义上,典型的GWT应用程序会像这样:

  1. 用户浏览到您的网页。他们的浏览器使用一个静态url来下载运行你的应用所需的所有javascript,css和图片。

  2. 从现在开始,每次用户按下按钮或以其他方式与页面交互时,都会通过AJAX调用检索数据。因此,他们可能会在登录前下载您的应用程序,但您的所有安全敏感数据只能通过ajax调用返回,让您有机会验证自己的身份(Cookie,用户/密码等)

这基本上就是您在第二个示例中描述的有关从数据存储加载数据的描述。这听起来像你认为这是不好的,但你不知道为什么。

+0

感谢您的回复,我现在同意我理解这个框架好一点。对于任何其他人阅读本文并按照与我以前相同的思路思考,我的主要误解是GWT通过javascript工作。我的意思是,你可以拥有任何你想要的html资源,并在稍后用GWT包装它。这意味着,你仍然可以动态地制作你的html页面(例如通过jsp),然后在客户端用GWT javascript包装它们。 – 2009-11-28 00:16:10

相关问题