使用Java開(kāi)發(fā)Google APP Engine初試
相信Google推出支持Java appengine的大好消息在Java圈中早已“炸開(kāi)”,我在網(wǎng)上看到這則新聞,***反應(yīng)就是立即注冊(cè)——下載sdk包——?jiǎng)邮煮w驗(yàn)。
感覺(jué)很爽,這個(gè)感覺(jué)是一切進(jìn)展得很順帶來(lái)的。
注冊(cè):http://appengine.Google.com/promo/java_runtime
kickstart: http://code.Google.com/appengine/docs/java/gettingstarted/installing.html
跟著這個(gè)kickstart主要下載了for Java的sdk包,然后安裝一個(gè)eclipse plugin.
下載完sdk包到bin目錄下就可以運(yùn)行自帶的guestbook sample:
Java代碼
dev_appserver.cmd ../dmos/guestbook/war 看到了吧,熟悉的server啟動(dòng)
Java代碼
The server is running at http://localhost:8080/
哈哈,趕緊打開(kāi)ff
這個(gè)程序很簡(jiǎn)單,就是一個(gè)簡(jiǎn)單信息輸入,post,然后頁(yè)面顯示post內(nèi)容,不過(guò),有一點(diǎn)不同的是,這些post內(nèi)容已經(jīng)被guestbook寫(xiě)到數(shù)據(jù)庫(kù)當(dāng)中持久化了?。ㄊ裁磾?shù)據(jù)庫(kù)??。?/P>
打開(kāi)eclipse,你會(huì)發(fā)現(xiàn)多了幾個(gè)按鈕:

沒(méi)錯(cuò),這是Google appengile for eclipse給你加的,你可以創(chuàng)建一個(gè)新的Googleapp項(xiàng)目:
創(chuàng)建完成后,你可以看到一個(gè)完整的工程文件,是不是很熟悉?沒(méi)錯(cuò),跟一個(gè)web app沒(méi)什么兩樣
你不用改動(dòng)任何文件,立即運(yùn)行,看看你的***個(gè)Google app:
你一定猜到了,Google appengine eclipse plugin給你生成的是一個(gè)gwt ajax應(yīng)用,呵呵,你立即進(jìn)入到web2.0時(shí)代了。
很簡(jiǎn)單,很easy,Google appengine for Java很令人心動(dòng)。。。
簡(jiǎn)單小結(jié)一下:
1. appengine for Java開(kāi)發(fā)包相當(dāng)友好
2. appengine for Java對(duì)ide也相當(dāng)友好
3. appengine for Java的webapp就是一個(gè)war
4. appengine for Java開(kāi)發(fā)包使用了geronimo
5. appengine for Java使用了jdo作為數(shù)據(jù)接口
6. appengine for Java支持gwt
8. appengine for Java可以寫(xiě)jsp和servlet
9. appengine for Java開(kāi)發(fā)包使用了jetty和Javadb?
...
來(lái)看看一段代碼吧,一切盡在代碼中
Java代碼
<%@ page contentType="text/html;charset=UTF-8" language="Java" %><%@ page import="Java.util.List" %>
<%@ page import="Javax.jdo.PersistenceManager" %>
<%@ page import="com.Google.appengine.api.users.User" %>
<%@ page import="com.Google.appengine.api.users.UserService" %>
<%@ page import="com.Google.appengine.api.users.UserServiceFactory" %>
<%@ page import="guestbook.Greeting" %>
<%@ page import="guestbook.PMF" %>
<%
UserService userService = UserServiceFactory.getUserService();
User user = userService.getCurrentUser();
if (user != null) {
%>Hello, <%= user.getNickname() %>! (You can
Sign in
to include your name with greetings you post.
<%
}
%>
<%
PersistenceManager pm = PMF.get().getPersistenceManager();
String query = "select from " + Greeting.class.getName() + " order by date desc range 0,5";
Listgreetings = (List ) pm.newQuery(query).execute();
if (greetings.isEmpty()) {
%>The guestbook has no messages.
<%
} else {
for (Greeting g : greetings) {
if (g.getAuthor() == null) {
%>An anonymous person wrote:
<%
} else {
%><%= g.getAuthor().getNickname() %>wrote:
<%
}
%><%= g.getContent() %>
<%
}
}
pm.close();
%>
【編輯推薦】