顯示具有 Google App Engine 標籤的文章。 顯示所有文章
顯示具有 Google App Engine 標籤的文章。 顯示所有文章

2012-08-21

建立 Google App Engine + Spring MVC + Tiles + Maven + Eclipse 專案

  • 建立專案
    • 使用 Eclipse -> New Web Application Project
      • 輸入 Project name 與 Package
      • 取消勾選 Use Google Web Toolkit
      • 確認勾選 Google App Engine

如何在 Google App Engine 使用 Spring MVC 3 上傳檔案

會有這問題原因在於 GAE 不許操作檔案,也就是說不能存取 GAE 的 Filesystem,若使用 Spring MVC 正常的作法:
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- property name="maxUploadSize" value="100000" / -->
</bean>
<form:form modelAttribute="cmd" method="post" enctype="multipart/form-data">
<input type="file" name="file"/>
</form:form>
public String sync(@RequestParam(value = "file", required = false) MultipartFile uploadFile) throws IOException {
 // ...
}

2012-08-16

無法使用 Eclipse Plugin 上傳 GAE Project

之前使用好好的,一陣子沒用 GAE,今天新建一個 project,在 local 啟動沒問題,但要 Deploy to App Engine 時就出錯了!
------------ Deploying frontend ------------

Preparing to deploy:
 Created staging directory at: 'C:\Users\Neil\AppData\Local\Temp\appcfg7076424424047389002.tmp'
 Scanning for jsp files.
 Scanning files on local disk.
 Initiating update.
com.google.appengine.tools.admin.HttpIoException: Error posting to URL: https://appengine.google.com/api/appversion/create?app_id=[my_app_name]&version=1&
404 Not Found
This application does not exist (app_id=u'[my_app_name]').


Debugging information may be found in C:\Users\Neil\AppData\Local\Temp\appengine-deploy7911889026584894394.log

Application 已經建好了,可以進去後台,所以這不是問題。

2011-04-19

使用 Google App Engine 開發 Java 網路應用程式

開發 GAE Java web app 有兩種方式:

非 Eclipse 族群

Google App Engine 簡介

用 Java 寫一個網路應用程式( web app)需要哪些東西?
  1. 首先,當然要會寫 Java,還有要懂得 JavaEE 在 web 的兩大主角,Servlet 與 JSP,如果不想用這麼原始的方式,還要學會 Spring MVC 或者 Struts 之類的 web framework。
  2. 現在應該不會有任何一個 web app 沒用到資料庫,所以還需要 JDBC,或者較好用但複雜的 Hibernate,以及一個真正的 database server,最常用的當然是 mysql 了。
  3. 程式寫完之後,我們需要一個可以執行程式的地方,那就是 web container(或 web server),一般都是用 Tomcat。
  4. 再來就是一台真正的機器,用來執行 Tomcat。
  5. 最後就是對外網路與網域名稱。

2011-02-25

使用 JPA 得到的 result 是 lazy load?

在 Google App Engine 環境使用 JPA,程式碼如下:
EntityManager em = EMF.get().createEntityManager();
Query q = em.createQuery("select u from " + User.class.getName() + " u");
q.setFirstResult(first);
q.setMaxResults(max);
List<user> list = q.getResultList();
log.debug("Find {} users", list.size());
em.close();

2011-02-24

整合 Google App Engine 與 Spring

  • 變更 Maven 預設的 webapp 位置
    • 因為要在 Google App Engine(GAE)中加入 Maven,而 GAE 與 Maven 的預設目錄架構不同,所以要變更 Maven 預設的 webapp 位置到 GAE 預設的位置。
    • 修改 pom.xml 如下:
      <build>
       ...
       <plugins>
        <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-war-plugin</artifactId>
         <version>2.1.1</version>
         <configuration>
          <warSourceDirectory>war</warSourceDirectory>
         </configuration>
        </plugin>
       </plugins>
       ...
      </build>