Get current URL in Webapplication

34,717

Solution 1

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.

Solution 2

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();
}

Solution 3

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?

Share:
34,717
Umesh Awasthi
Author by

Umesh Awasthi

Updated on July 09, 2022

Comments

  • Umesh Awasthi
    Umesh Awasthi almost 2 years

    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.

    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.