JSP or JavaScript equivalent to PHP's $_SERVER["HTTP_HOST"]?

cmcculloh picture cmcculloh · Apr 22, 2009 · Viewed 16.1k times · Source

I've go an absolute URL in my JavaScript that I have hard coded for window.location.

I don't want to have to change this every time I am testing my app. In PHP I would have handled this by testing the $_SERVER["HTTP_HOST"] variable to find out what server I am on, and adjust accordingly. However, I'm not as familiar with Java and am wondering if it has a similar method? Or if maybe even JavaScript had a similar method?

The code is as follows:

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

What I would like to do is:

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;

In PHP I would have just done this:

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

Any ideas? I suppose I'm operating under the assumption that you have to do an absolute URL to change the location of the current window in JavaScript. If there is another way to change the window location in JavaScript without an absolute URL, please feel free to offer that as well.

Thanks in advance...

Answer

karim79 picture karim79 · Apr 23, 2009

What you need is:

request.getServerName()

An example:

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