中成网站建设
    成都做网站,就选中成网站建设!专业四川网站建设,成都网站建设服务提供商
            企业宣传网站建设、电子商务网站建设、OA办公系统。联系电话:028-66165255

文章详情

Google App Engine轻量级是全新的趋势

轻量级是全新的趋势

虽然 Google 的基础设施大多是可以免费使用的(当存储空间和带宽达到 500MB,每月页面访问量达到大约 5 百万次时便要收费),但它会在一定程度上牺牲一些灵活性。Google 的基础设施支持 Java 技术,但这并不包括所有 的核心 Java 库和相关开源库。App Engine 是一个平台 — 您需要基于它进行开发。但不足为奇的是,开源创新将帮助克服采用 Google App Engine 过程中的障碍。

Gaelyk 框架就是这种项目的一个典型,其目的是加速轻量级应用程序的开发,即使用 Groovy 开发的、适当利用模型-视图-控制器 (MVC) 模式的应用程序。在 Groovy 的魔力下,Gaelyk 将为 App Engine 的 API 注入一些易用性因素。此外,您还可以将 Gaelyk 与针对 Eclipse 的 Google App Engine 插件结合使用。快速开发和部署 Google App Engine 应用程序将变得非常简单。


“通过 CouchDB 和 Groovy 的 RESTClient 实现 REST” 利用一个停车罚单系统演示了面向文档的数据库的特性。在本文中,我将继续创建一个支持创建、更新和删除停车罚单的 Web 应用程序。Google 持久性架构不是面向文档的,但其无模式特性实现了一个更加灵活的模型。因此,Web 将尽可能准确地建立一个停车罚单模型,这需要获取:

警官姓名
日期
位置
违规情况
任何相关注释
我保留位置为一个普通的文本框,因为一些人可以使用各种方式来表示违规发生的位置 — 比如在 Best Buy 的停车区 或者在 18 号街和 D 大街的拐角处。实际上,我不会尝试描述一个特定格式,因为它不一定适合这个域。

首先,您需要安装针对 Eclipse 的 Google App Engine 插件。您还需要从项目的网站下载 Gaelyk JAR 文件。记住这个下载的位置,因为您随后需要将它移动到一个特定的目录中。

Gaelyk 框架依赖于 Groovy,因此您还需要最新的 Groovy 发行版:在撰写本文时,它是一个简单的 JAR 文件,即 groovy-all-1.6.5.jar。最后,您需要通过 Google App Engine 管理面板创建一个应用程序 ID。(如果愿意,您可以重用在 “使用 Google App Engine” 中创建的应用程序 ID)。

接下来,在 Eclipse 中创建一个新的 Google Web Application Project,单击 Next 按钮并填入适当的信息。确保取消选中了 Use Google Web Toolkit 选项,如图 1 所示,因为您不需要它:

图 1. 在 Eclipse 中创建一个 Google Apps Project

 

单击 Finish 按钮,您将建立好代码基础。

现在,将 Groovy 和 Gaelyk JAR 复制到新创建项目的 war/WEB-INF/lib 目录中,如图 2 所示:

图 2. Gaelyk 的必需库

 

要配置 Gaelyk,您需要为 Google App Engine 提供一些额外的信息,方法是编辑 WEB-INF/appengine-web.xml 文件。将您的应用程序 ID 添加到此文件顶部的应用程序部分,并添加一些 XML,如清单 1 所示:

清单 1. 对 App Engine 配置的必要更新


<static-files>
 <exclude path="/WEB-INF/**.groovy" />
 <exclude path="**.gtpl" />
</static-files>
 


添加这些内容将防止 Google App Engine 静态提供最终在使用 Gaelyk 时会创建的各种文件。如您所见,Gaelyk 将利用一个模板模型。因此,使用 .gtpl 扩展名的文件将类似于 JavaServer Pages (JSP) 并且将通过框架而非 App Engine 进行处理。

接下来,打开 web.xml 文件。该文件也可以在 WEB-INF 目录中找到。它是标准的 Web 应用程序配置文件。(您将在初次访问 App Engine 和 EC2 时操作此文件。)该文件需要将各种模式映射到特定的 servlet,因此根据清单 2 调整您的文件:

清单 2. 更新后的 web.xml 文件


<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    version="2.5">
 <servlet>
  <servlet-name>GroovletServlet</servlet-name>
  <servlet-class>groovyx.gaelyk.GaelykServlet</servlet-class>
 </servlet>
 <servlet>
  <servlet-name>TemplateServlet</servlet-name>
  <servlet-class>groovyx.gaelyk.GaelykTemplateServlet</servlet-class>
 </servlet>
 <servlet-mapping>
  <servlet-name>GroovletServlet</servlet-name>
  <url-pattern>*.groovy</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
  <servlet-name>TemplateServlet</servlet-name>
  <url-pattern>*.gtpl</url-pattern>
 </servlet-mapping>
 <welcome-file-list>
  <welcome-file>index.gtpl</welcome-file>
 </welcome-file-list>
</web-app>
 


注意,web.xml 文件指定 welcome 文件为 index.gtpl;因此,将 Eclipse 插件为您生成的 index.html 文件重命名为 index.gtpl。(如果使用 Windows® 操作系统,则只需选择文件并按下 F2。)

安置好适当的库并正确配置了两个 XML 文件之后,您可以验证一切是否运行正常,这需要编辑 index.gtpl 文件让它匹配清单 3 的内容:

清单 3. 一个简单的 GTPL 文件


<html>
 <head><title>A Simple GTPL</title></head>
  <body>
   <b><% print "Hello Gaelyk!".replace(" ", " from ") %></b>
   <p>
   <ol>
    <% def wrd = "Groovy"
       wrd.each{ letter ->
    %>
    <li><%= letter %></li>
    <% } %>
   </ol>
   </p>
  </body>
</html>
 

比较与分析Groovy与Java
Google App Engine性能优化策略:页面性
Google App Engine带来的Java开发2.0实现
Google App Engine的Java持久性与数据存
JVM流行动态语言Groovy 1.7发布
可以看到,Gaelyk 中的 GTPL 文件(或 Gaelyk/Groovy 模板)类似于 JSP: 您可以在 scriptlet 中添加行为(在本例中,添加的行为是 Groovy)。注意,稍后您也可以使用闭包和引用变量。

保存您的 index.gtpl 文件在 Eclipse 中选择项目的基本目录,单击鼠标右键,选择 Run As 并选择包含蓝色 G 徽标的 Web Application 选项,如图 3 所示:

图 3. 作为 Google Web 应用程序运行

 

默认情况下,此启动程序将在端口 8080 上启动一个本地 Jetty 实例。如果要更改端口,请选择 Run Configurations 选项并通过插件提供的选项面板配置端口。

运行 Gaelyk Web 应用程序的本地实例之后,打开一个 Web 浏览器并访问 http://localhost:8080。index.gtpl 的输出应如图 4 所示:

 


上一篇:$FirstArticleTitle

下一篇:已经是最后一篇