Arquivos estáticos no App Engine (Java) não acessíveis
oexemplo de documentação diz que você simplesmente precisa colocar seus arquivos em war / (ou um subdiretório) e eles devem estar acessíveis a partir do host (contanto que eles não sejam JSPs ou WEB-INF). Por exemplo, se você colocar foo.css em war / então você deve ser capaz de acessá-lo emhttp: // localhost: 8080 / foo.css. No entanto, isso não está funcionando para mim. Nenhum dos meus arquivos estáticos está acessível.
Os documentos sobreappengine-web.xml Digamos que você também possa denotar especificamente determinados tipos como estáticos. Eu tentei isso também e não faz diferença.
Estou faltando alguma coisa óbvia?
ATUALIZAR: Acontece que um dos mapeamentos no meu web.xml foi um pouco agressivo demais. O seguinte foi o culpado:
<code><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> </code>
Parece que estava pegando tudo o que não foi agarrado como uma das outras regras, que eu não entendo porque não havia * no final do padrão url. Também parece ser diretamente contraditórioa documentação isso diz:
Nota: Arquivos estáticos, arquivos que são entregues integralmente a usuários, como imagens, CSS ou JavaScript, são tratados separadamente dos caminhos mencionados no descritor de implementação. Uma solicitação para um caminho de URL que corresponda a um caminho para um arquivo no WAR que é considerado um arquivo estático servirá o arquivo, independentemente dos mapeamentos de servlet e filtro no descritor de implementação. Você pode excluir arquivos daqueles tratados como arquivos estáticos usando oappengine-web.xml Arquivo.
Então, como posso ter uma regra que corresponda à base do meu domínio (por exemplo,http://www.example.com/) e ainda permite que os arquivos estáticos filtrem?