Как получить параметр 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, вы должны:
- Смонтируйте его в контексте ROOT.
- Используйте обратный прокси (например, nginx).
Второй метод является наиболее распространенным решением. В этом случае запрос переходит Browser -> Reverse Proxy / Load Balancer -> Один или несколько серверов приложений.
Это имеет несколько преимуществ.
- Вы можете справиться с рукопожатием SSL на обратном прокси.
- Ваш сервер приложений может доставлять контент настолько быстро, насколько это возможно, обратному прокси-серверу (который обычно быстрее, чем браузеру), поэтому он не связывает соединение так долго (подача ложкой).
- Вы можете отобразить значимые страницы ошибок, даже если контейнер Java EE не запущен.
- Наличие другого домена или субдомена для обслуживания каждого контекста тривиально.