怎麼在google app eginer上開發java應用程序

在一次偶然的機會下,接觸這個 google app engine 以下簡稱:GAE。它是google提供給我們的免費服務器,大概支持500M的存儲吧。具體也不太清楚。廢話不說了,步入正題:
1:如果你的開發工具是eclipse或者是myeclipse2個都可以,網上大概都說的是eclipse上集成GAE插件,其實myclipse上也可以。找網上的教程先讓你的MyEclipse上配有GAE插件,不然後面開了也白看。 配置好之後,重啓MyEclipse進入之後大概在上面中間的位置出會多了3個按鈕的樣子,顏色嗎?大概是藍,紅,淺綠色的吧。

2:我們建立項目。直接點擊那個帶有g字的那個按鈕就是開建立GAE項目了。其他的沒什麼要求,走默認的就行了。

3:項目建立好之後,就是在裏面怎麼寫代碼了?因爲GAE目前支持的java插件不算太多,自己測試過,spring,struts,servlet都可以支持,其他的沒有用過不太清楚。開發過程跟平時的沒什麼區別,只要在本地測試通過,就一定會在GAE上測試通過(上傳之後的文件一定通過)。
在這裏我要特別提醒下,唯一跟平時不同的是,保存數據的問題。GAE給我們提供了一個JDO標準,在編寫代碼的時候一定要按照這個標準來,不然是測試不同過的。代碼如下:
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class HelloWorld {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Long id;
@Persistent
private String username;
@Persistent
private String email;
@Persistent
private String password;

public HelloWorld(String usrName,String pwd,String ema){
this.username=usrName;
this.email=ema;
this.password=pwd;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}

顯示保存數據JSP頁面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ 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="helloworld.pojo.HelloWorld" %>
<%@ page import="helloworld.pojo.PMF" %>
<%@ page import="javax.jdo.PersistenceManager" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'query.jsp' starting page</title>
</head>
<body>
<center>
<h1>顯示頁面</h1>
<hr>
<table border="1" width="80%">
<%
PersistenceManager pm = PMF.get().getPersistenceManager();
String query = "select from " + HelloWorld.class.getName();
List<HelloWorld> hellos = (List<HelloWorld>) pm.newQuery(query).execute();
if(hellos.isEmpty()){
%>
<h1>不好意思,現在沒有值</h1>
<%
}else{
%>
<tr>
<td>編號</td>
<td>名稱</td>
<td>密碼</td>
<td>郵件</td>
<td>操作</td>
</tr>
<%
for(HelloWorld hello:hellos){
if(hello.getId()==0){
%>
<h1>程序應該有問題</h1>
<%
}else{
%>
<tr>
<td><%= hello.getId() %></td>
<td><%= hello.getUsername() %></td>
<td><%= hello.getPassword() %></td>
<td><%= hello.getEmail() %></td>
<td><a href="">刪除</a>||
<a href="">修改</a>
</td>
</tr>
<%
}
}
}
pm.close();
%>
<%

%>
</center>
</table>
</body>
</html>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章