java的URI和URL到底是什么

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

java的URI和URL到底是什么
在我们做开发时,经常有URI和URL弄混的问题,如果当时直接看URI和URL的源码就不可能弄混。

⾸先我总结⼀下URI和URL的关系:他们的关系是:URL是⼀种特殊的URI,是URI包括URL,
下⾯⽤公式的形式说明URI到底是什么?
URI=[scheme:]<scheme-specific-part>[#fragment] 这正好可以⽤URI类中的getScheme getSchemeSpecificPart 以及getFragment得到.
在scheme为null时,这个URI被称为相对的URI。

在scheme不为空时URI称为绝对的URI
⽽<scheme-specfic-part>=[//authority]<path>[:query]
在path为空时称为不透明的URI,在不为空时称为透明的URI
authority ⼜可以分为:[userinfo@]<host>[:port]
从这个公式我们可以看到URI确实包括URL。

下⾯写⼀个⽰例代码
package com.timo;
import .URI;
public class URITest {
public static void main(String[] args) throws Exception{
//创建⼀个uri,根据[scheme:]<scheme-specific-part>[#fragment]
URI uri = new URI("http", "//qinlin@localhost:8080/oi/oi?user='aieg'", "iewio");
System.out.println(uri);
System.out.println(uri.getPath());
}
}
调试代码的图⽚如下,从下图可以看到上述公式的各个值是什么。

相关文档
最新文档