Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get current URL in Webapplication

I am in process to capture Current URL as its being displayed in the browser's address bar in my JSP page and have few options to get it done.

  • Using javax.servlet.include.request_uri and other defined in Servlet 2.4 specification.I refer this thread to get details about it java-httpservletrequest-get-url-in-browsers-url-bar.

In my current application, we are going to put web-server in front of our application server as than it seems that those values will be of not any use.

I have another way to take help of javascript's document.URL but i am not sure how reliable it is going to be.

I need to get the details about the location of the user and if I can use getRequestURI(), it will return me something like www.abc.com/abc/search.jsp.

In short, all I want to capture the URL being there in the address bar of the browser and save it in a hidden field of my JSP page.

I am not sure what is the best way to achieve this.

like image 375
Umesh Awasthi Avatar asked Jun 01 '12 06:06

Umesh Awasthi


3 Answers

In Java, you can do this:

 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();
}
like image 140
Reed Grey Avatar answered Sep 25 '22 16:09

Reed Grey


If you want a javascript solution, you can use window.document.location object and its properties:

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

You can understand other parameters reading this article at MDN.

like image 21
Zlatko Avatar answered Sep 24 '22 16:09

Zlatko


You can create a hidden field in your form

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

then write a javascript

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

is that help?

like image 39
James Avatar answered Sep 23 '22 16:09

James