在IT业步入“云”时代的时候,Google App Engine无疑是引领“云”技术潮流的一支生力军。但在App Engine诞生后的很长一段时间里,它都只支持Python语言,让广大Java程序员只能望洋兴叹。幸运的是,在2009年4月,Google App Engine推出了Java版本,让Java程序员终于能感受“云”时代开发的便利。本文将简单介绍如何开发基于Google App Engine for Java的Web应用程序,希望能有助于读者快速了解这一技术。

关于Google App Engine

简单来说,Google App Engine是Google公司提供的一个可供用户运行网络应用程序的基础架构,使用App Engine,开发者不再需要购买服务器或虚拟空间,只需上传程序,即可开始为用户提供服务。目前,Google App Engine支持Python和Java两种语言。

安装Eclipse插件

创建基于Google App Engine for Java的应用程序,最好的途径是使用Google提供的Eclipse插件,插件安装方法具体见http://code.google.com/eclipse/docs/download.html;对于我使用的MyEclipse6.0,插件安装地址为http://dl.google.com/eclipse/plugin/3.3。

安装后,重启MyEclipse,如工具栏出现如下图标,安装即完成。

按钮的功能:

  • 蓝色小球让您能够访问 App Engine for Java 项目创建向导。
  • 红色工具箱让您编译一个 GWT 项目。
  • 迷你喷气式飞机图标让您能够部署一个 App Engine 项目。

下面,我们在MyEclipse中创建一个简单的“Welcome2GAE”应用程序,来简单说明基于Google App Engine的开发过程。

创建“Welcome2GAE”应用

  • 新建项目

    点击蓝色小球图标,出现新建Web App项目界面,填入项目名称,包名等必填项,选择使用Google App Engine,点击Finish,即可创建一个完整的Web App项目,项目结构如下图:

    事实上,在创建项目的过程中,App Engine插件已经为我们生成了一个可以运行的工程,包含Welcome2GAEServlet.java、web.xml等文件,运行此工程后,即可通过访问服务器查看到“Hello World!”页面。

    但是,我们想做的稍微复杂一点,主要是加入Jsp页面及表单提交的功能,具体为,访问http://localhost:8888/ ,可查看到如下图所示的页面。

    用户填入名字提交后,即显示欢迎页面,如下所示。

  • 创建welcome.jsp文件

    我们在war目录下,创建welcome.jsp文件,以显示名字输入页面。Jsp文件内容如下:

    <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
      <title>Welcome2GAE</title>
    </head>
    <body>
     <form action="/welcome">
      Please enter your name:
      <input type="text" name="name">
      <br>
      <input type="submit" />
      <br>
     </form>
    </body>
    </html>
  • 修改Welcome2GAEServlet.java文件

    内容如下:

    package com.appengine;
         import java.io.IOException;
      import javax.servlet.http.*;
    @SuppressWarnings("serial")
      public class Welcome2GAEServlet extends HttpServlet {
      public void doGet(HttpServletRequest req, HttpServletResponse resp)
      throws IOException {
      resp.setContentType("text/plain");
      resp.getWriter().println(
      "Welcome to GAE ! " + req.getParameter("name") + " !");
      }
      }
  • 修改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>welcome</servlet-name>
      <servlet-class>com.appengine.Welcome2GAEServlet</servlet-class>
      </servlet>
      <servlet-mapping>
      <servlet-name>welcome</servlet-name>
      <url-pattern>/welcome</url-pattern>
      </servlet-mapping>
      <welcome-file-list>
      <welcome-file>welcome.jsp</welcome-file>
      </welcome-file-list>
     </web-app>
  • 本地运行

    完成以上文件新建及修改后,即可按下图所示,运行Web Application,然后访问http://localhost:8888可查看效果。

部署“Welcome2GAE”到Google App Engine

对熟悉JavaEE开发的读者来说,上面的例子实在是太过简单了,对,你想得没错,Google App Engine开发实际上就是这样简单,和我们平常的Web开发区别不大。下面,我们来看它与平常Web开发的主要区别,即将应用部署到App Engine。

正如Google的其他服务一样,App Engine在开始的时候也提供免费的服务,当你的应用访问量达到一个比较高的水平的时候,才会收取适当的费用。当然了,免费的服务也需要你拥有一个Google账号,并申请App Engine服务。读者可登录Google网站,申请账户及相应服务,这里就不一一赘述。

在上传应用之前,我们需要先在Google App Engine个人账户管理页面上为应用申请一个Application ID,并在工程中配置此ID,类似于域名,事实上,Google也提供了类似http://ID.appspot.com 的免费二级域名,给大家使用,配置ID如下图所示。

配置完ID后,点击前文所述的部署App Engine按钮,按下图部署,即可完成应用的部署操作。

读者可访问http://dianausdu.appspot.com/,查看示例效果。

结语

至此,我们即完成了一个非常简单的Google App Engine应用程序,并部署到Google App Engine。

以上介绍,希望能对读者学习Google App Engine有所帮助。

google app engine for java 的web应用程序相关推荐

  1. Google App Engine for Java下的URL编码转换问题

    URL编码问题 此部分参考英文资料: http://www.blooberry.com/indexdot/html/topics/urlencoding.htm http://www.w3school ...

  2. java的app构建代码_适用于Java的Google App Engine,第2部分,构建杀手级应用

    java的app构建代码 存档日期:2019年5月14日 | 首次发布:2009年8月11日 像Google App Engine for Java™这样的云平台的全部要点是能够想象,构建和部署可扩展 ...

  3. Google App Engine教程

    Google App Engine是一个用于在现有Google基础架构中托管Web应用程序的云计算平台,它易于扩展,管理和免费使用多达预定义的已消耗资源,并且支持Java. 有关其他费用,请参阅此GA ...

  4. 谁更胜一筹:技术解析 Google App Engine 和 Amazon EC2

    最近一个潜在客户要求我们比较一下 Amazon EC2 和 Google App Engine,正好我们刚刚在 EC2 和 Google App Engine 上完成了两个相对来说规模较大的项目,因此 ...

  5. Google App Engine对抗Amazon EC2谁更牛?

    导读:笔者根据最近完成的一个项目,并帮助潜在客户比较Amazon EC2和Google App Engine,他将从三个角度来对比这两大云计算平台:技术.业务和未来发展趋势. 关键词:Amazon E ...

  6. 探索Google App Engine背后的奥秘

    探索Google App Engine背后的奥秘(1)--Google的核心技术 作者: ikewu | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及 版权声明 网址: http://w ...

  7. 通过google app engine 在google cloud 部署支持quic的Java web 应用(多种方式)

    quic最先是由google提出并完善的,18年google cloud支持了quic协议,我尝试在google上部署一套自己的应用,并使其支持quic协议 google的文档还是非常完善的,只是类似 ...

  8. Google App Engine Java功能和命名空间API

    功能API 使用Capabilities API,您的应用程序可以检测特定API功能的停机和计划停机时间. 您可以使用此API来检测应用程序何时不可用,然后绕过它来减少应用程序的停机时间. 我们该如何 ...

  9. web服务r oauth_通过OAuth访问社交网站,第3部分,将Web Twitter客户端部署到Google App Engine...

    存档日期:2019年5月16日 | 首次发布:2010年4月13日 OAuth是一种开放协议,使用户可以在不同的网站之间共享其受保护的资源,而不会冒暴露用户凭据的风险. 本系列的第1部分介绍了OAut ...

最新文章

  1. 手机内存RAM、ROM简介
  2. 8、模态对话框、非模态对话框
  3. python基础入门:内置函数之排列组合函数教程
  4. ByteBuffer
  5. 北京大学Tensorflow2.0笔记
  6. 【2019南昌邀请赛现场赛 - J】Prefix(STLmap,思维)
  7. 7.MongoDB与python交互
  8. 仲裁文件夹服务器,仲裁服务器是什么
  9. Google和微软哪个更可怕?
  10. java架构之-负载均衡-Ribbon 的使用
  11. [Hive]Hive表开启事务
  12. SpringMVC、Struts1和Struts2区别
  13. 小程序源码:长期稳定短视频去水印-多玩法安装简单
  14. 【HDU1411】四面体的体积公式
  15. 使用Simple Allow Copy插件在网页内复制文字
  16. Tomcat8+Redis集群解决会话共享
  17. 李白打酒*C语言简易版(递归)
  18. 百度推广年终总结,百度竞价年终总结参考
  19. php for android
  20. 操作系统之文件系统:4、文件存储空间管理(空闲表法、空闲链表法、位示图法、成组链接法)

热门文章

  1. [book]《领导梯队》
  2. Android照片墙应用实现(AsyncTask应用)
  3. 谷歌浏览器出现 HTTP ERROR 502
  4. 【National Treasure】
  5. Android端接入微信支付
  6. 97.分组交叉表、复杂交叉表
  7. 30-【什么叫规矩 什么叫体统】deque容器
  8. 推荐系统的主要四个阶段(召回、粗排、精排、重排)
  9. C#:调用API实现简繁转换
  10. scala使用for循环