Il example documentation dice che è sufficiente posizionare i file in war/(o una sottodirectory) e dovrebbero essere accessibili dall'host (purché non siano JSP o in WEB-INF). Ad esempio, se metti foo.css in war /, dovresti poterlo accedere a http://localhost:8080/foo.css. Tuttavia, questo non funziona affatto per me. NONE dei miei file statici sono accessibili.File statici in (Java) App Engine non accessibile
I documenti su appengine-web.xml indicano che è anche possibile specificare determinati tipi come statici. Ho provato anche questo e non fa differenza.
Mi manca qualcosa di ovvio?
UPDATE: Risulta uno dei mapping nel mio web.xml era un po 'troppo aggressivo. Il seguente è stato il colpevole:
<servlet>
<servlet-name>Main</servlet-name>
<servlet-class>MainServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Main</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
Sembra che sia stato afferrando tutto ciò che non è stato afferrato essere una delle altre regole, che non capisco perché non c'era * alla fine del url- modello. Sembra anche essere direttamente in contraddizione con the documentation che dice:
Nota: File statici, i file che vengono serviti pari pari per gli utenti come immagini, CSS o JavaScript, vengono gestiti separatamente dai percorsi menzionati nel descrittore di deployment . Una richiesta per un percorso URL che corrisponde a un percorso di un file in WAR considerato un file statico servirà il file, indipendentemente dal mapping di servlet e filtro nel descrittore di distribuzione. È possibile escludere file da quelli trattati come file statici utilizzando il file appengine-web.xml.
Quindi, come posso avere una regola che corrisponde alla base del mio dominio (ad esempio http://www.example.com/) e consente comunque ai file statici di filtrare?
fare i campioni che vengono con il lavoro SDK? Come avviare l'applicazione. Immagino che tu abbia già controllato che i file siano davvero in guerra/ – jitter
Sì, l'app del guestbook mi permette di colpire il suo file CSS bene. –