JSP или JavaScript, эквивалентный PHP $_SERVER[HTTP_HOST]?

Я использую абсолютный URL-адрес в своем JavaScript, который я жестко запрограммировал для 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-адреса, пожалуйста, не стесняйтесь предлагать и его.

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


person cmcculloh    schedule 22.04.2009    source источник


Ответы (4)


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

request.getServerName()

Пример:

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
person karim79    schedule 22.04.2009

Javascript:

var server = window.location.hostname;
person Jose Basilio    schedule 22.04.2009

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

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

location.pathname = "/store/results/index.jsp";
person Peter Bailey    schedule 22.04.2009

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

request.getRemoteHost()
person Thedric Walker    schedule 22.04.2009