开始您的第一个Google App Engine应用

开发 开发工具
很多人想玩Google App Engine,最起码可以当个免费的虚拟主机来用。不过怎么开始您的Google App Engine之旅,许多人还一头雾水,那么跟随我们开始您的第一个Google App Engine应用。

目前,GAE 每个帐号可以开通10个应用,每个应用免费配额1G磁盘空间,这样下来就是10G。另外,每个应用每天免费流量配额10G,Request 一百三十万次,数据库存储调用一千万次。

超出这些配额您可以购买,存储空间0.01美元2G(这个不按天算),带宽基本上0.1美元10G左右/每天(这个每天统计一次,超出免费配额部分才收费)。

唯一遗憾的是暂时不受理人民币。

GAE最早支持 Python ,前一阵又开通了 Java 支持,并提供了一套 SDK。但是由于 GAE 是新生事物,不是很成熟,部署起来挺麻烦,如果没有一个好的 IDE 支持,玩起来很困难。目前官方提供了 Eclipse 插件,您可以使用。由于个人爱好 Netbeans ,本文以 Netbeans 为主要 IDE,如果您是 Eclipse 用户,原理上也是相同的。下面我们开始吧。

0、本文假设你的 JDK 、Netbeans 已经正确安装并配置好相关环境变量。
备注:本文***提供了项目模板,您可以跳过中间部分,直接使用。

1、首先先你得有个 Google 帐号,如果您使用 Python ,直接就可以部署了。如果您使用 Java,需要到这里激活 App Engine Java 帐户,点击 sign up ,发出请求。可能要等几天才能收到激活邮件。如图:

2、到这里下载App Engine Java SDK ,我然后将它解压到 E:\appenginesdk,后面的配置将以这个路径为参照,您可以更改为自己的路径。如图:


3、在 Netbeans 中新建一个 Java Web 项目,取名 Hello ,我将它保存在 E:\gae\java 目录下,如图:

4、到App Engine Java SDK 的 E:\appenginesdk\demo\guest\war\WEB-INF 文件夹中复制appengine-web.xml、logging.properties   两个文件,然后在 Netbeans 中将这两个文件粘帖到 Web\WEB-INF 目录下,这一步很重要。如图:


5、同样到 App Engine Java SDK 的 E:\appenginesdk\demos\guestbook\war\WEB-INF\classes 下复制 META-INF 文件夹   ,然后粘帖到 Netbeans 中的 “源包” 文件夹下,这一步很重要。如图:


6、将 E:\appenginesdk\lib\impl\appengine-api.jar 文件添加到项目的“库”中,目前我们只需要着一个包,以后如果加入数据库可能还需要别的包。这一步很重要。如图:

7、由于 Java Web 项目创建的时候自动生成了一个 index.jsp 文件,所以这时候我们可以在本机测试运行一下:

0)  在 Netbeans 中对项目 “清理并生成”

1)在桌面上建立一个 run.bat 文件,编辑内容为:E:\appenginesdk\bin\dev_appserver.cmd    E:\gae\java\Hello\build\web,您可能要根据你自己的情况更改路径。

2)保存 run.bat ,然后双击运行出现如下窗口,服务器开始运行

3)打开浏览器 http://localhost:8080/ ,出现下图,说明一切正常:


8、在 Netbeans 中创建 HelloServlet ,并将 URL 模式改为 /hello,Servlet 代码如下:

response.setContentType("text/html;charset=UTF-8");
[[2645]]        PrintWriter out = response.getWriter();
        try {
            out.println(
"");
            out.println("");
            out.println("");  
            out.println("");
            out.println("");
            out.println("

你好,Google App Engine

");
            out.println("");
            out.println("");
        } finally 
            out.close();
        }

关闭 run.bat 命令行窗口,在 Netbeans 中对项目 “清理并生成”,重新运行 run.bat,然后在浏览器中输入 http://localhost:8080/hello ,可以看见输出。

如何加入静态文件?

9、Netbeans 中在项目的 “Web 页” 文件夹下建立一个 images 文件夹,并将 1.jpg 文件复制到里面,如图:

10、更改 index.jsp 内容如下:

<body>
[[2645]]        <a href="/hello">运行 Hello Servleta>
[[2645]]        <p/>
[[2645]]        <img src="images/1.jpg">
<body>

11、打开项目下的 Web 页->WEB-INF->appengine-web.xml 文件,填写内容如下:

<xml version="1.0" encoding="utf-8"?>
[[2645]]<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
[[2645]]    <application>myqiao-appapplication>
[[2645]]    <version>1version>
[[2645]]
[[2645]]    <static-files>
[[2645]]        <include path="/**.jpg" />
[[2645]]    <static-files>
[[2645]]
[[2645]]    <system-properties>
[[2645]]        <property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
[[2645]]    <system-properties>
<appengine-web-app>


12、关闭 run.bat 命令行窗口,在 Netbeans 中对项目 “清理并生成”,重新运行 run.bat,然后在浏览器中输入 http://localhost:8080/,可以看见一个 Servlet 的超链接,另外还显示了一幅图片

这里需要注意的两个地方:

1)myqiao-app 是我的 GAE 帐号,这里您需要改成您的;

2) <include path="/**.jpg" /> 这一句,告诉所有的 jpg 文件都是静态文件,都可以访问

3)关闭 run.bat 命令行窗口,在 Netbeans 中对项目 “清理并生成”,如果一切正常就可以上传了

13、建立一个 upload.bat 文件,内容如下:E:\appenginesdk\bin\appcfg.cmd update    E:\gae\java\Hello\build\web,您可能要根据你自己的情况更改路径。

运行它,***次运行的时候,您需要根据提示输入您的 gmail 帐号和密码,您就可以看见上传进度了:如图:

项目模板

下载模板

这里提供了一个Netbeans项目模板,您可以免去上面的复杂过程,直接使用。

需要自定义的地方:

1、下载模板,用Netbeans打开,重构项目名称。

2、使用JDO,请阅读相关文档。

3、持久化类不能放到默认包中。模板提供了一个测试用的 POJO.java 类中,并放到 my.jdo 包中,您可以根据您自己的情况更改

4、将 appengine-web.xml 的项目名称改成您自己的

怎么样,很简单吧!动手试试吧

【编辑推荐】

  1. 用Groovy编写Google App Engine应用
  2. 使用Java开发Google APP Engine初试
  3. 教你如何在Google App Engine上运行PHP
责任编辑:彭凡 来源: 博客园
相关推荐

2021-11-02 08:00:00

机器学习API技术

2021-04-07 13:38:27

Django项目视图

2024-03-13 13:53:10

C++程序开发

2012-02-08 11:15:38

HibernateJava

2010-07-30 14:58:06

Flex应用

2009-04-14 11:01:33

GoogleApp EngineGroovy

2019-01-04 08:16:55

物联网产品物联网IOT

2010-12-07 16:53:43

商业智能

2020-11-13 07:08:51

Spring Boot应用Spring

2013-07-08 10:40:02

2023-05-19 08:49:58

SQLAlchemy数据库

2018-08-22 17:32:45

2012-08-01 14:12:45

IBMdW

2019-04-22 08:10:00

Google 开源技术

2020-07-07 07:55:53

web app数据科学机器学习

2011-06-08 10:24:38

Windows Pho 应用程序

2011-04-25 19:41:00

Embedded Co虚拟机CEPC

2015-04-15 11:28:04

Apple Watch杀手应用

2011-06-08 10:01:36

Windows Pho 应用程序

2013-10-30 22:10:28

Clouda程序
点赞
收藏

51CTO技术栈公众号