${pageContext.request.contextPath} отлично работает локально, но показывает пустую трансляцию
В настоящее время я использую
${pageContext.servletContext.contextPath}
или же
${pageContext.request.contextPath}
распечатать контекстный путь на странице JSP. Он работает нормально для локального сервера, но когда я начинаю работать, он печатает пустой, а не фактический путь.
Я могу напечатать номер порта запроса, а также метод запроса, но не путь к контексту.
Как это вызвано и как я могу решить это?
1 ответ
Это произойдет, когда он будет развернут в корне. Например, как ROOT.war
в Tomcat, или с контекстным путем /
, ${pageContext.request.contextPath}
затем преобразуется в пустую строку.
Если вы действительно видите "контекстный путь" в URL адресной строки браузера, то это может произойти, когда веб-приложение публикуется на (плохом) стороннем хосте, который, в свою очередь, фактически развертывает веб-приложение от имени пользователя root и добавляет этот "контекстный путь" на некоторый прокси-сервер на этом хосте. Вы можете проверить / подтвердить это, проверив Server
запись в заголовках ответа. Лучше всего обратиться к стороннему хосту за подсказками о том, как получить информацию об этом "пути контекста" от прокси-сервера (возможно, он присутствует в заголовке запроса), или искать другой сторонний хост, который является менее дешевым.