2009-04-13 15:48 seemoon IT168
字號:
T |
T相信Google推出支持Java App Engine的大好消息在Java圈中早已“炸開(kāi)”,本文是作者自己的親身體驗,希望為大家揭開(kāi)Google App Engine for Java的神秘面紗。
AD:
2014WOT全球軟件技術(shù)峰會(huì )北京站 課程視頻發(fā)布相信Google推出支持Java appengine的大好消息在Java圈中早已“炸開(kāi)”,我在網(wǎng)上看到這則新聞,第一反應就是立即注冊——下載sdk包——動(dòng)手體驗。
感覺(jué)很爽,這個(gè)感覺(jué)是一切進(jìn)展得很順帶來(lái)的。
注冊:
http://appengine.Google.com/promo/java_runtimekickstart:
http://code.Google.com/appengine/docs/java/gettingstarted/installing.html跟著(zhù)這個(gè)kickstart主要下載了for Java的sdk包,然后安裝一個(gè)eclipse plugin.
下載完sdk包到bin目錄下就可以運行自帶的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內容,不過(guò),有一點(diǎn)不同的是,這些post內容已經(jīng)被guestbook寫(xiě)到數據庫當中持久化了?。ㄊ裁磾祿???。?div style="height:15px;">
打開(kāi)eclipse,你會(huì )發(fā)現多了幾個(gè)按鈕:
沒(méi)錯,這是Google appengile for eclipse給你加的,你可以創(chuàng )建一個(gè)新的Googleapp項目:
創(chuàng )建完成后,你可以看到一個(gè)完整的工程文件,是不是很熟悉?沒(méi)錯,跟一個(gè)web app沒(méi)什么兩樣
你不用改動(dòng)任何文件,立即運行,看看你的第一個(gè)Google app:
你一定猜到了,Google appengine eclipse plugin給你生成的是一個(gè)gwt ajax應用,呵呵,你立即進(jìn)入到web2.0時(shí)代了。
很簡(jiǎn)單,很easy,Google appengine for Java很令人心動(dòng)。。。
簡(jiǎn)單小結一下:
1. appengine for Java開(kāi)發(fā)包相當友好
2. appengine for Java對ide也相當友好
3. appengine for Java的webapp就是一個(gè)war
4. appengine for Java開(kāi)發(fā)包使用了geronimo
5. appengine for Java使用了jdo作為數據接口
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
out.)<%} else {%>Hello! into 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";List greetings = (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();%>【編輯推薦】Google App Engine對Java支持情況一覽微軟:OpenOffice比Google Apps更具威脅Google App Engine:堅定的站在Java的中心