JSP или JavaScript эквивалентны PHP $ _SERVER ["HTTP_HOST"]? - PullRequest
6 голосов
/ 23 апреля 2009

В моем JavaScript указан абсолютный URL, который я жестко запрограммировал для window.location.

Я не хочу менять это каждый раз, когда тестирую свое приложение. В PHP я бы справился с этим, протестировав переменную $ _SERVER ["HTTP_HOST"], чтобы выяснить, на каком сервере я работаю, и настроить его соответственно. Тем не менее, я не так хорошо знаком с Java и мне интересно, есть ли у него подобный метод? Или, может быть, даже в JavaScript был подобный метод?

Код выглядит следующим образом:

var url = "http://172.17.1.107/store/results/index.jsp";
window.location = url;

Я бы хотел сделать следующее:

var server = [something that returns just 172.17.1.107 (with or without the http:// is fine)]
var url = "http://" + server + "/store/results/index.jsp";
window.location = url;

В PHP я бы просто сделал это:

var server = <?= $_SERVER["HTTP_HOST"] ?>
var url = "http://" + server + "/store/results/index.php";
window.location = url;

Есть идеи? Я предполагаю, что я работаю в предположении, что вы должны сделать абсолютный URL, чтобы изменить местоположение текущего окна в JavaScript. Если есть другой способ изменить расположение окна в JavaScript без абсолютного URL, пожалуйста, не стесняйтесь предлагать это также.

Заранее спасибо ...

Ответы [ 4 ]

7 голосов
/ 23 апреля 2009

Что вам нужно, это:

request.getServerName()

Пример:

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
4 голосов
/ 23 апреля 2009

Объект местоположения имеет несколько свойств , и вам нужно будет hostname .

Или, при желании, вы можете просто использовать относительный root-адрес и просто установить свойство pathname , чтобы вообще не связываться с хост-бизнесом!

location.pathname = "/store/results/index.jsp";
3 голосов
/ 23 апреля 2009

Javascript:

var server = window.location.hostname;
0 голосов
/ 23 апреля 2009

Вы действительно должны искать это, но в JSP это:

request.getRemoteHost()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...