google app engine for java 的web应用程序
在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应用程序相关推荐
- Google App Engine for Java下的URL编码转换问题
URL编码问题 此部分参考英文资料: http://www.blooberry.com/indexdot/html/topics/urlencoding.htm http://www.w3school ...
- java的app构建代码_适用于Java的Google App Engine,第2部分,构建杀手级应用
java的app构建代码 存档日期:2019年5月14日 | 首次发布:2009年8月11日 像Google App Engine for Java™这样的云平台的全部要点是能够想象,构建和部署可扩展 ...
- Google App Engine教程
Google App Engine是一个用于在现有Google基础架构中托管Web应用程序的云计算平台,它易于扩展,管理和免费使用多达预定义的已消耗资源,并且支持Java. 有关其他费用,请参阅此GA ...
- 谁更胜一筹:技术解析 Google App Engine 和 Amazon EC2
最近一个潜在客户要求我们比较一下 Amazon EC2 和 Google App Engine,正好我们刚刚在 EC2 和 Google App Engine 上完成了两个相对来说规模较大的项目,因此 ...
- Google App Engine对抗Amazon EC2谁更牛?
导读:笔者根据最近完成的一个项目,并帮助潜在客户比较Amazon EC2和Google App Engine,他将从三个角度来对比这两大云计算平台:技术.业务和未来发展趋势. 关键词:Amazon E ...
- 探索Google App Engine背后的奥秘
探索Google App Engine背后的奥秘(1)--Google的核心技术 作者: ikewu | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及 版权声明 网址: http://w ...
- 通过google app engine 在google cloud 部署支持quic的Java web 应用(多种方式)
quic最先是由google提出并完善的,18年google cloud支持了quic协议,我尝试在google上部署一套自己的应用,并使其支持quic协议 google的文档还是非常完善的,只是类似 ...
- Google App Engine Java功能和命名空间API
功能API 使用Capabilities API,您的应用程序可以检测特定API功能的停机和计划停机时间. 您可以使用此API来检测应用程序何时不可用,然后绕过它来减少应用程序的停机时间. 我们该如何 ...
- web服务r oauth_通过OAuth访问社交网站,第3部分,将Web Twitter客户端部署到Google App Engine...
存档日期:2019年5月16日 | 首次发布:2010年4月13日 OAuth是一种开放协议,使用户可以在不同的网站之间共享其受保护的资源,而不会冒暴露用户凭据的风险. 本系列的第1部分介绍了OAut ...
最新文章
- 手机内存RAM、ROM简介
- 8、模态对话框、非模态对话框
- python基础入门:内置函数之排列组合函数教程
- ByteBuffer
- 北京大学Tensorflow2.0笔记
- 【2019南昌邀请赛现场赛 - J】Prefix(STLmap,思维)
- 7.MongoDB与python交互
- 仲裁文件夹服务器,仲裁服务器是什么
- Google和微软哪个更可怕?
- java架构之-负载均衡-Ribbon 的使用
- [Hive]Hive表开启事务
- SpringMVC、Struts1和Struts2区别
- 小程序源码:长期稳定短视频去水印-多玩法安装简单
- 【HDU1411】四面体的体积公式
- 使用Simple Allow Copy插件在网页内复制文字
- Tomcat8+Redis集群解决会话共享
- 李白打酒*C语言简易版(递归)
- 百度推广年终总结,百度竞价年终总结参考
- php for android
- 操作系统之文件系统:4、文件存储空间管理(空闲表法、空闲链表法、位示图法、成组链接法)