开始您的第一个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 " );
        PrintWriter out 
=  response.getWriter();
        
try   {
            out.println(
"<html>");
            out.println(
"<head>");
            out.println(
"<title>Servlet HelloServlet</title>");  
            out.println(
"</head>");
            out.println(
"<body>");
            out.println(
"<h1>你好,Google App Engine</h1>");
            out.println(
"</body>");
            out.println(
"</html>");
        }
  finally  
            out.close();
        }


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

如何加入静态文件?

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


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

< body >
        
< href ="/hello" > 运行 Hello Servlet </ a >
        
< p />
        
< img  src ="images/1.jpg" >
</ body >



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

<? xml version="1.0" encoding="utf-8" ?>
< appengine-web-app  xmlns ="http://appengine.google.com/ns/1.0" >
    
< application > myqiao-app </ application >
    
< version > 1 </ version >

    
< static-files >
        
< include  path ="/**.jpg"   />
    
</ static-files >

    
< system-properties >
        
< property  name ="java.util.logging.config.file"  value ="WEB-INF/logging.properties" />
    
</ 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 帐号和密码,您就可以看见上传进度了:如图:

版权声明:本博客文章如非特别注明,均为原创,作者保留所有权利!欢迎转载,转载请注明作者左洸和出处博客园

14、浏览我的网址:
欢迎大家来我的新家疯狂留言,进行残酷的压力测试,看看能不能把它刷爆,呵呵。
我的GAE主页是:http://myqiao-app.appspot.com/exercise/
什么?出现了乱码?这是目前 GAE SDK 的小问题,有两个办法:

1、把 index.jsp 动态文件改成 index.html 静态文件 

2、到 linux 下开发

15、项目模板

下载模板

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

需要自定义的地方:
1、下载模板,用Netbeans打开,重构项目名称。

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

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

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


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

 


本文转自左洸博客园博客,原文链接:http://www.cnblogs.com/myqiao/archive/2009/05/12/1454867.html,如需转载请自行联系原作者


目录
相关文章
|
18天前
|
Java Android开发
Rockchip系列之CAN APP测试应用实现(4)
Rockchip系列之CAN APP测试应用实现(4)
24 1
|
2月前
|
监控 安全 数据可视化
【教程】为什么要为 App 应用加固 ?如何为 App 应用加固 ?
【教程】为什么要为 App 应用加固 ?如何为 App 应用加固 ?
|
3月前
|
数据可视化 定位技术 Sentinel
如何用Google Earth Engine快速、大量下载遥感影像数据?
【2月更文挑战第9天】本文介绍在谷歌地球引擎(Google Earth Engine,GEE)中,批量下载指定时间范围、空间范围的遥感影像数据(包括Landsat、Sentinel等)的方法~
627 0
如何用Google Earth Engine快速、大量下载遥感影像数据?
|
3月前
|
编解码 人工智能 算法
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
30 0
|
3月前
|
机器学习/深度学习 算法 数据可视化
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
107 0
|
14天前
|
搜索推荐 前端开发 JavaScript
【专栏】从网页轻松转换为应用越来越便捷
【4月更文挑战第27天】本文介绍了将网页转换为移动应用的在线生成App过程,包括原理(封装网页内容,添加移动特性)、优势(便捷高效,节省成本,快速上线)以及具体步骤(选择工具,准备内容,配置选项,生成测试,发布推广)。同时,注意版权、兼容性和用户体验问题。通过案例分析和实践经验分享,帮助读者深入了解如何通过在线工具实现App梦想,强调了网页优化、用户界面设计和个性化定制的重要性。
|
2天前
|
XML 开发框架 .NET
C#/ASP.NET应用程序配置文件app.config/web.config的增、删、改操作
C#/ASP.NET应用程序配置文件app.config/web.config的增、删、改操作
|
11天前
|
缓存 移动开发 前端开发
【专栏:HTML与CSS前端技术趋势篇】HTML与CSS在PWA(Progressive Web Apps)中的应用
【4月更文挑战第30天】PWA(Progressive Web Apps)结合现代Web技术,提供接近原生应用的体验。HTML在PWA中构建页面结构和内容,响应式设计、语义化标签、Manifest文件和离线页面的创建都离不开HTML。CSS则用于定制主题样式、实现动画效果、响应式布局和管理字体图标。两者协同工作,保证PWA在不同设备和网络环境下的快速、可靠和一致性体验。随着前端技术进步,HTML与CSS在PWA中的应用将更广泛。
|
11天前
|
前端开发 Android开发 开发者
【Flutter前端技术开发专栏】Flutter中的混合应用(Hybrid Apps)开发
【4月更文挑战第30天】本文探讨了使用Flutter开发混合应用的方法。混合应用结合Web技术和原生容器,提供快速开发和低成本维护。Flutter,一款现代前端框架,以其插件系统和高性能渲染引擎支持混合应用开发。通过创建Flutter项目、添加平台代码、使用WebView、处理平台间通信以及发布应用,开发者可构建跨平台混合应用。虽然混合应用有性能和用户体验的局限,但Flutter的跨平台兼容性和丰富的插件生态降低了开发成本。开发者应根据项目需求权衡选择。
【Flutter前端技术开发专栏】Flutter中的混合应用(Hybrid Apps)开发
|
25天前
tauri-app生成应用的图标
tauri-app生成应用的图标
9 0