JSP или JavaScript эквивалент PHP $ _SERVER ?

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

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

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

     request.getServerName() 

    Пример:

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

    Объект location имеет несколько свойств , а тот, который вы хотите, – имя хоста .

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

     location.pathname = "/store/results/index.jsp"; 

    Javascript:

     var server = window.location.hostname; 

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

     request.getRemoteHost() 

    Может быть, это может помочь.

    Он заменит любые слова, которые вы хотите, или ничего. Он также будет работать для вашего запроса.

     var str = "Visit Microsoft!"; var res = str.replace("Microsoft", "W3Schools");