【问题标题】:Getting the last part of the referrer url [duplicate]获取引荐来源网址的最后一部分 [重复]
【发布时间】:2013-03-07 04:53:32
【问题描述】:


我想获取引荐来源网址的最后一部分。获取这些信息的最佳方式是什么?

String referrer = request.getHeader("referer");

目前这是我获取引荐来源网址的方式。这给了我整个 URL,但我只想要 URL 的一部分。


例如: 请求的 URL:http://localhost:8080/TEST/ABC.html
如果这是引荐来源网址,我只想要ABC.html

感谢您的帮助,如果对我的问题有任何误解,请告诉我。

【问题讨论】:

  • 将String转换为URL对象,然后使用getter方法解析出你想要的部分。

标签: java jsp servlets


【解决方案1】:

这会给你 XYZ.html :

String url = "http://localhost:8080/TEST/XYZ.html";
url = url.substring(url.lastIndexOf("/") + 1, url.length());

【讨论】:

  • 谢谢你,这给了我我想要的东西!
  • @Austin Truong 那么你为什么不接受这个答案呢?
  • @VishalD 我认为 OP 应该 accept 第一个 best answer
  • 是的,我打算接受,正在等待接受时间。
【解决方案2】:

使用java.net.URL.getFile()

String path = new URL( request.getHeader( "referer" )).getPath();
int sep = path.lastIndexOf( '/' );
return ( sep < 0 ) ? path : path.substring( sep + 1 );

【讨论】:

  • 这将返回 TEST/ABC.html。不要认为这就是 OP 想要的。
【解决方案3】:

这是基本的字符串操作,像对待任何其他字符串一样对待它。可以使用String.indexOf/String.lastIndexOfString.substring,也可以使用String.split,也可以使用StringTokenizer,也可以使用正则表达式(最灵活的选项,但需要学习正则表达式)。

【讨论】:

    【解决方案4】:

    只需获取最后一次出现/ 之后的子字符串即可。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多