5

JSP ページのブラウザのアドレス バーに表示されている現在の URL を取得しようとしていますが、それを行うためのオプションはほとんどありません。

  • java- httpservletrequest -get-url-in-browsers-url-bar のjavax.servlet.include.request_uri詳細については、このスレッドを参照してください。

私の現在のアプリケーションでは、これらの値が役に立たないように思われるので、アプリケーション サーバーの前に web-server を配置します。

JavaScript の助けを借りる別の方法がありますが、 document.URLそれがどれほど信頼できるかはわかりません。

ユーザーの場所に関する詳細を取得する必要があります。使用できる場合はgetRequestURI()、のようなものが返されますwww.abc.com/abc/search.jsp

要するに、ブラウザのアドレスバーにある URL をキャプチャして、JSP ページの隠しフィールドに保存したいだけです。

これを達成するための最良の方法は何かわかりません。

4

3 に答える 3

8

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();
}
于 2015-04-10T12:36:00.513 に答える