2010-9-17-Google App Engine Class 1
建置開發環境
實做環境上面, 我在 openSUSE 上使用
Google 應用引擎首頁
http://code.google.com/intl/zh-TW/appengine/
應用程式控制台
https://appengine.google.com/
Object /Relate Mapping
永續保存
推薦的書籍或是參考資源
Notes: 在 Eclipse 中新增 Ganymede 安裝來源( 這樣安裝 Eclipse 的plugin 才不會產生錯誤, 預設沒有安裝)
如果沒有安裝 ganymede安裝來源 會有以下錯誤訊息
Cannot complete the request. See the details. Unsatisfied dependency: [com.google.gdt.eclipse.suite.e34.feature.feature.group ......
安裝 Eclipse 3.4 的 Google App Engine 的plugin
http://code.google.com/intl/zh-TW/eclipse/docs/install-eclipse-3.4.html
http://dl.google.com/eclipse/plugin/3.4
Notes:
Lab1: 建立第一個專案
以google 帳號登入 GAE 的主控台
應用程式控制台
https://appengine.google.com/
建立第一個專案
Application Identifier 必須獨一無二
輸入 專案名稱(例如 helloworld-名稱 )
--> Create Applicaion
開啟 Eclipse 開啟 GAE 的 Eclipse 的專案
File --> New --> Other --> 展開 Google --> Web Application Project --> Next
輸入 Project 名稱, 輸入 Package 名稱 --> Finish
打開 HelloworldServlet.java (位於 src/my.lab.helloworld )
程式內容如下
package my.lab.helloworld;
import java.io.IOException;
import javax.servlet.http.*;
@SuppressWarnings("serial")
public class HelloworldServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
resp.setContentType("text/plain");
resp.getWriter().println("Hello, world");
}
}
點選 HelloworldServlet.java , 按滑鼠右鍵 --> Run As --> Web Applicaion
應該會出現以下訊息
2010/9/17 下午 01:37:40 com.google.apphosting.utils.jetty.JettyLogger info
資訊: Logging to JettyLogger(null) via com.google.apphosting.utils.jetty.JettyLogger
2010/9/17 下午 01:37:40 com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml
資訊: Successfully processed /home/max/workspace/Helloworld/war/WEB-INF/appengine-web.xml
2010/9/17 下午 01:37:40 com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml
資訊: Successfully processed /home/max/workspace/Helloworld/war/WEB-INF/web.xml
2010/9/17 下午 09:37:40 com.google.appengine.tools.development.DevAppServerImpl start
資訊: The server is running at http://localhost:8888/
開啟 瀏覽器 於URL 輸入 http://localhost:8888
應該會看到成功的畫面
設定並佈署 Helloworld 專案到 Google App Engine
利用 Eclipse 工具列上的 Deploy App Engine project 來佈署
輸入 e-mail 及密碼 --> Deploy ( 要先點選 App Engine project settings.. 來設定 ID )
可以於 App Engine project settings 畫面 點選 My applications
開啟 Google App Engine 控制中心
查詢 Application 名稱, 填入到 Application ID 欄位 --> 點選 OK
回到 Deploy Project to Google App Engine 視窗 點選 Deploy
成功的話, 應該會在 Eclipse 內看到下列訊息
Creating staging directory
Scanning for jsp files.
Scanning files on local disk.
Initiating update.
Cloning 1 static files.
Cloning 16 application files.
Uploading 3 files.
Uploaded 1 files.
Uploaded 2 files.
Uploaded 3 files.
Initializing precompilation...
Deploying new version.
Will check again in 1 seconds.
Will check again in 2 seconds.
Will check again in 4 seconds.
Will check again in 8 seconds.
Will check again in 16 seconds.
Will check again in 32 seconds.
Closing update: new version is ready to start serving.
Uploading index definitions.
Deployment completed successfully
測試
http://專案名稱.appspot.com
Notes:
中文的問題可以加入以下程式
resp.setCharacterEncoding(“UTF-8”);
Notes: 如果要刪除應用程式, 可在該程式內
建置開發環境
- Java SE SDK
- Eclipse 3.4 以上
實做環境上面, 我在 openSUSE 上使用
- eclipse 3.4-236.2
- java-1_6_0-sun (我移除了 openjdk 改用 java-sun)
- java-1_6_0-sun-devel
Google 應用引擎首頁
http://code.google.com/intl/zh-TW/appengine/
應用程式控制台
https://appengine.google.com/
Object /Relate Mapping
永續保存
- JDO Java Data Objects
- JPA Java Persistence API
推薦的書籍或是參考資源
Notes: 在 Eclipse 中新增 Ganymede 安裝來源( 這樣安裝 Eclipse 的plugin 才不會產生錯誤, 預設沒有安裝)
Eclipse 3.4 (Ganymede)
- Select Help > Software Updates...
- Select the Available Software tab.
- Click Manage Sites...
- Make sure the Ganymede Update Site is in your list of Available Software Sites, and checked. If it's not in the list, click Add... to add it. The Ganymede Update Site's URL is http://download.eclipse.org/releases/ganymede/
如果沒有安裝 ganymede安裝來源 會有以下錯誤訊息
Cannot complete the request. See the details. Unsatisfied dependency: [com.google.gdt.eclipse.suite.e34.feature.feature.group ......
安裝 Eclipse 3.4 的 Google App Engine 的plugin
http://code.google.com/intl/zh-TW/eclipse/docs/install-eclipse-3.4.html
http://dl.google.com/eclipse/plugin/3.4
Notes:
- 如果發現有安裝 plugin 但是又產生錯誤, 可以嘗試把 ~/.eclipse 目錄移除, 再重新安裝
- 發現如果以 一般使用者安裝, 會有權限的問題,這個部份還有待研究(以root 安裝後, 接下來以一般使用者 執行是沒有問題的)
- Cannot connect to keystore. This trust engine is read only. An error occurred while installing the items Error saving manipulator. /usr/share/eclipse/eclipse.ini (拒絕不符權限的操作)
Lab1: 建立第一個專案
以google 帳號登入 GAE 的主控台
應用程式控制台
https://appengine.google.com/
建立第一個專案
Application Identifier 必須獨一無二
輸入 專案名稱(例如 helloworld-名稱 )
--> Create Applicaion
開啟 Eclipse 開啟 GAE 的 Eclipse 的專案
File --> New --> Other --> 展開 Google --> Web Application Project --> Next
輸入 Project 名稱, 輸入 Package 名稱 --> Finish
打開 HelloworldServlet.java (位於 src/my.lab.helloworld )
程式內容如下
package my.lab.helloworld;
import java.io.IOException;
import javax.servlet.http.*;
@SuppressWarnings("serial")
public class HelloworldServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
resp.setContentType("text/plain");
resp.getWriter().println("Hello, world");
}
}
點選 HelloworldServlet.java , 按滑鼠右鍵 --> Run As --> Web Applicaion
應該會出現以下訊息
2010/9/17 下午 01:37:40 com.google.apphosting.utils.jetty.JettyLogger info
資訊: Logging to JettyLogger(null) via com.google.apphosting.utils.jetty.JettyLogger
2010/9/17 下午 01:37:40 com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml
資訊: Successfully processed /home/max/workspace/Helloworld/war/WEB-INF/appengine-web.xml
2010/9/17 下午 01:37:40 com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml
資訊: Successfully processed /home/max/workspace/Helloworld/war/WEB-INF/web.xml
2010/9/17 下午 09:37:40 com.google.appengine.tools.development.DevAppServerImpl start
資訊: The server is running at http://localhost:8888/
開啟 瀏覽器 於URL 輸入 http://localhost:8888
應該會看到成功的畫面
設定並佈署 Helloworld 專案到 Google App Engine
利用 Eclipse 工具列上的 Deploy App Engine project 來佈署
輸入 e-mail 及密碼 --> Deploy ( 要先點選 App Engine project settings.. 來設定 ID )
可以於 App Engine project settings 畫面 點選 My applications
開啟 Google App Engine 控制中心
查詢 Application 名稱, 填入到 Application ID 欄位 --> 點選 OK
回到 Deploy Project to Google App Engine 視窗 點選 Deploy
成功的話, 應該會在 Eclipse 內看到下列訊息
Creating staging directory
Scanning for jsp files.
Scanning files on local disk.
Initiating update.
Cloning 1 static files.
Cloning 16 application files.
Uploading 3 files.
Uploaded 1 files.
Uploaded 2 files.
Uploaded 3 files.
Initializing precompilation...
Deploying new version.
Will check again in 1 seconds.
Will check again in 2 seconds.
Will check again in 4 seconds.
Will check again in 8 seconds.
Will check again in 16 seconds.
Will check again in 32 seconds.
Closing update: new version is ready to start serving.
Uploading index definitions.
Deployment completed successfully
測試
http://專案名稱.appspot.com
Notes:
中文的問題可以加入以下程式
resp.setCharacterEncoding(“UTF-8”);
Notes: 如果要刪除應用程式, 可在該程式內
- Administration --> Application Settings 去停用及刪除該應用程式 ( 刪除需要一天的時間)
沒有留言:
張貼留言