2012-06-01 2 views
4

Я сейчас обрабатываю текущий URL-адрес, поскольку он отображается в адресной строке браузера на моей странице JSP и имеет несколько вариантов для его выполнения.Получить текущий URL-адрес в веб-приложении

  • Использование javax.servlet.include.request_uri и другие, определенные в Servlet 2.4 specification.I см эту нить, чтобы получить подробную информацию об этом java-httpservletrequest-get-url-in-browsers-url-bar.

В моем текущем приложении мы собираемся разместить веб-сервер перед нашим сервером приложений, чем кажется, что эти значения будут бесполезны.

У меня есть другой способ получить помощь javascript's document.URL, но я не уверен, насколько он надежный.

Мне нужно получить информацию о местонахождении пользователя, и если я смогу использовать getRequestURI(), он вернет мне что-то вроде www.abc.com/abc/search.jsp.

Короче говоря, все, что я хочу, чтобы зафиксировать URL-адрес, расположенный в адресной строке браузера, и сохранить его в скрытом поле моей страницы JSP.

Я не уверен, что это лучший способ достичь этого.

+1

Вы хотите "о местоположении пользователя" и getRequestURI(). Вопрос не очень ясен. Можете ли вы сделать это простым, что вы хотите. –

+1

все, что я хочу, чтобы зафиксировать URL-адрес в адресной строке браузера и сохранить его в скрытом поле моей страницы JSP. –

+0

Напишите getRequestURI() в jsp. Это должно делать правильно. –

ответ

3

Если вы хотите яваскрипт решения, вы можете использовать window.document.location объекта и его свойство:

console.log(window.document.location.protocol); 
http: 
console.log(window.document.location.host); 
stackoverflow.com 
console.log(window.document.location.port); 

console.log(window.document.location.href); 
http://stackoverflow.com/questions/10845606/get-current-url-in-webapplication 
console.log(window.document.location.pathname); 
/questions/10845606/get-current-url-in-webapplication 

Вы можете понять другие параметры чтения this article на MDN.

+0

Спасибо за ввод, и я соглашаюсь на javascript на основе solution.i есть вопрос будет 'window.document.location.pathname' будет выбирать строку запроса, если какой-либо добавить к URL? –

+0

Нет, это бит location.search. Проверьте ссылку, которую я добавляю к своему ответу. – Zlatko

+0

спасибо, я работал для меня :) –

2

Вы можете создать скрытое поле в форме

<input type="hidden" id="myurl" name="myurl"/> 

затем написать яваскрипт

<script type="text/javascript"> 
document.getElementById('myurl').value = window.location.href 
</script> 

что помощь?

4

В Java, вы можете сделать это:

public static String getCurrentUrl(HttpServletRequest request){ 

    URL url = new URL(request.getRequestURL().toString()) 

    String host = url.getHost(); 
    String userInfo = url.getUserInfo(); 
    String scheme = url.getProtocol(); 
    String port = url.getPort(); 
    String path = request.getAttribute("javax.servlet.forward.request_uri"); 
    String query = request.getAttribute("javax.servlet.forward.query_string"); 
    URI uri = new URI(scheme,userInfo,host,port,path,query,null) 
    return uri.toString(); 
} 
Смежные вопросы