8

這裏結合斑點的servlet是我web.xml與端點API

<?xml version="1.0" encoding="utf-8" standalone="no"?> 
<web-app xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 

    <servlet> 
    <servlet-name>Upload</servlet-name> 
    <servlet-class>Upload</servlet-class> 
    </servlet> 

    <servlet-mapping> 
    <servlet-name>Upload</servlet-name> 
    <url-pattern>/upload</url-pattern> 
    </servlet-mapping> 

    <servlet> 
     <servlet-name>SystemServiceServlet</servlet-name> 
     <servlet-class>com.google.api.server.spi.SystemServiceServlet</servlet-class> 
     <init-param> 
      <param-name>services</param-name> 
      <param-value>com.company.game.GameApi</param-value> 
     </init-param> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>SystemServiceServlet</servlet-name> 
     <url-pattern>/_ah/spi/*</url-pattern> 
    </servlet-mapping> 

</web-app> 

我有一個谷歌雲端點API,的GameAPI,它一直在努力,除了這時間太長斑點的裝載罰款。所以我決定使用Upload servlet on the google website to upload my blobs from user。我基本上將blob文件的xml代碼添加到我的現有xml代碼中以獲得端點api,從而生成上面顯示的xml。但是,上傳servlet從未被調用過。我正在測試本地主機,我可以在_BlobUploadSession_表中看到,前端(即android應用)已經成功地將圖像發送到具有正確回調url的blobstore。我知道這個servlet沒有被調用,因爲我在入口處有一個println語句。

我需要更改我的web.xml嗎?我允許將終端和servlet結合起來,就像我在web.xml中做的那樣?

+0

@DanHolevoet你或你的團隊對如何使這項工作有任何意見?我的首選方法是隻使用端點(http://stackoverflow.com/questions/16257895/convert-servlet-schema-to-app-engine-endpoint-schema),但因爲我不知道該怎麼做,我已經按照描述創建了一個servlet類。但是我的servlet從未被調用過。 – learner 2013-04-29 19:37:50

+0

@bossylobster我可以請這個幫忙嗎? – learner 2013-04-29 19:39:03

+0

@湯姆有什麼想法? – learner 2013-04-29 19:44:40

回答

1

退房https://cloud.google.com/developers/articles/how-to-build-mobile-app-with-app-engine-backend-tutorial

<servlet> 
    <display-name>Remote API Servlet</display-name> 
    <servlet-name>RemoteApiServlet</servlet-name> 
    <servlet-class>com.google.apphosting.utils.remoteapi.RemoteApiServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>RemoteApiServlet</servlet-name> 
    <url-pattern>/remote_api</url-pattern> 
</servlet-mapping> 
0

雖然我的Android工作室雲端點搖籃成功同步,上傳到GAE,格式如下(您正在使用)時,導致錯誤和失敗的上傳:

<servlet> 
    <servlet-name>Upload</servlet-name> 
    <servlet-class>Upload</servlet-class> 
    </servlet> 

    <servlet-mapping> 
    <servlet-name>Upload</servlet-name> 
    <url-pattern>/upload</url-pattern> 
    </servlet-mapping> 

我需要做的是列出完整的servlet類路徑。在你的情況下:

<servlet> 
    <servlet-name>Upload</servlet-name> 
    <servlet-class>com.company.game.Upload</servlet-class> 
    </servlet> 

    <servlet-mapping> 
    <servlet-name>Upload</servlet-name> 
    <url-pattern>/upload</url-pattern> 
    </servlet-mapping> 

希望這可以幫助別人。