Как получить параметр init сервлета в web.xml со страницы приветствия jsp?

Я создал index.jsp страница и связанный путь /index к этому в web.xml,
Это также отображается при доступе к корню приложения в качестве страницы приветствия. Он имеет три параметра инициализации.

Проблема в том, что я могу получить доступ из кода JSP config.getInitParameter() если путь полон [host:port]/[appName]/index, параметры доступны нормально.
Если я пытаюсь перейти к корню приложения [host:port]/[appName]/ страница приветствия отображается, но параметры инициализации недоступны. config.getInitParameter() метод возвращает ноль.

Как правильно настроить страницу приветствия в файле web.xml, если я хочу получить параметры инициализации сервлета?

2 ответа

У вас есть файл index.jsp, определенный как "файл приветствия" в файле web.xml? Похоже, контейнер выполняет перенаправление. Определение index.jsp в качестве файла приветствия должно исправить это.

Надеюсь, это поможет.

Обычно в Java, если вы хотите использовать / для доступа к контексту Java EE, вы должны:

  1. Смонтируйте его в контексте ROOT.
  2. Используйте обратный прокси (например, nginx).

Второй метод является наиболее распространенным решением. В этом случае запрос переходит Browser -> Reverse Proxy / Load Balancer -> Один или несколько серверов приложений.

Это имеет несколько преимуществ.

  1. Вы можете справиться с рукопожатием SSL на обратном прокси.
  2. Ваш сервер приложений может доставлять контент настолько быстро, насколько это возможно, обратному прокси-серверу (который обычно быстрее, чем браузеру), поэтому он не связывает соединение так долго (подача ложкой).
  3. Вы можете отобразить значимые страницы ошибок, даже если контейнер Java EE не запущен.
  4. Наличие другого домена или субдомена для обслуживания каждого контекста тривиально.
Другие вопросы по тегам