在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有所帮助。 |