在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. docker 安装使用 solr
  2. mysql三大范式 答案_数据库三大范式定义与理解
  3. php yof框架特点_腾讯正式开源高性能超轻量级 PHP 框架 Biny
  4. 线头尾两端各插入块lisp_如何在一条线段两端插入带角度得块?
  5. eclipse基本断点调试
  6. 岗位推荐 | 百度招聘计算机视觉、深度学习算法工程师(可实习)
  7. 学习心得体会、备忘录整理
  8. 分布式下服务注册的地位和原理
  9. 电销机器人价格_箭鱼电销机器人:为什么电话机器人公司不用机器人给你打电话?...
  10. Lua中的metatable
  11. Flexible 弹性盒子模型之CSS justify-content 属性
  12. linux 设备驱动总结,linux设备驱动归纳总结(三):3面向对象思想和lseek
  13. 禁止普通账户将主机加入域控
  14. 1_反向代理【跨域】
  15. 快速幂算法c语言求a的n次方,快速幂运算模板(求n^k以及前几位或后几位)
  16. TC中编辑程序快捷键
  17. Atitit 软件集成法 eai 目录 1. 表示集成 ui界面集成 最简单 1 2. 数据集成 1 3. 控制集成 功能集成 应用集成 1 4. 业务流程集成 1 5. 企业应用集成 1
  18. 嵌入式单片机知识点汇总(持续更)
  19. 安卓 Day 23 :利用视图翻页器实现引导项
  20. oracle使用decode实现竖表转横表 (列转行)

热门文章

  1. Progamming Erlang 通过 Makefile 自动编译 .erl 文件
  2. 场景检测:Audio Listener、RigidBody和Prefab连接
  3. 自由动力3.6版90个问答(四)
  4. 银行卡收单____对账___长短款差错处理
  5. java 牛生小牛_牛生小牛的递归算法
  6. 如何成为一名合格的工业机器人应用工程师
  7. 如何在Global Mapper中打开谷歌卫星地图
  8. 计算机主机连接电视机,如何将电脑连接到电视机上_台式电脑怎么连接电视机屏幕-win7之家...
  9. win7系统开机桌面黑屏,不显示桌面和任务栏
  10. 西班牙橄榄油行业组织:中餐开始接受橄榄油的优点