В документации говорится, что вам просто нужно поместить свои файлы в war/(или подкаталог), и они должны быть доступны с хоста (если они не являются JSP или WEB-INF). Например, если вы помещаете foo.css в war/then, вы должны иметь доступ к нему по адресу http://localhost:8080/foo.css. Однако это не работает для меня вообще. НЕТ моих статических файлов.
В документах appengine-web.xml говорится, что вы также можете специально обозначать определенные типы как статические. Я тоже пробовал это, и это не имеет значения.
Я пропустил что-то очевидное?
UPDATE: Оказывается, одно из отображений в моем web.xml было слишком агрессивным. Следующим был виновник:
<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>
Кажется, что он захватывал все, что не было захвачено, одним из других правил, которое я не понимаю, потому что в конце URL-адреса не было *. Это также, по-видимому, прямо противоречит документации, которая гласит:
Примечание. Статические файлы, файлы, которые дословно переданы пользователям, например изображениям, CSS или JavaScript, обрабатываются отдельно от путей, упомянутых в дескрипторе развертывания. Запрос на путь URL, который соответствует пути к файлу в WAR, который считается статическим файлом, будет обслуживать файл, независимо от отображений сервлетов и фильтров в дескрипторе развертывания. Вы можете исключить файлы из тех, которые рассматриваются как статические файлы, используя файл appengine-web.xml.
Итак, как я могу получить правило, соответствующее базе моего домена (например, http://www.example.com/) и до сих пор разрешает статические файлы для фильтрации через?