Как использовать подпапку как каталог приветствия web.xml

Я хочу настроить свой web.xml для Google App Engine, но моя конфигурация не работает. Я хочу изменить значение по умолчанию index.html на WebApp/index.html.

Вот web.xml:

<servlet>
    <servlet-name>App</servlet-name>
    <servlet-class>bg.app.AppServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>App</servlet-name>
    <url-pattern>/WebApp/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
    <welcome-file>WebApp/index.html</welcome-file>
</welcome-file-list>

Ответ 1

"Приветственный файл" представляет физический файл, который необходимо обслуживать, когда папка запрашивается по URL-адресу. Например. / или /WebApp/ или WebApp/foo/. Он не представляет собой "файл главной страницы" или так, как думают многие стартеры. Не имеет смысла, чтобы файл приветствия указывал на подпапку. Это не сработает, если запрашивается другая подпапка.

Просто вставьте файл index.html в качестве файла приветствия, поместите нужный файл главной страницы в папку /WebApp/ и создайте еще один файл index.html в корневой папке / со следующим содержимым:

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Dummy homepage</title>
    <meta http-equiv="refresh" content="0; url=WebApp" />
  </head>
</html>

Это будет перенаправлено на /WebApp/ (поисковые роботы будут обрабатывать его как 301), который, в свою очередь, должен обслуживать нужный файл главной страницы.

См. также: