ad_qqread_mid_big"> uri类支持基本的uri操作,包括标准化(normalization)、分解(resolution)和相对化(relativization)。标准化是通过uri的normalize()方法支持的。调用normalize()时,它返回对新uri对象的引用,该对象包含调用的uri对象的uri的标准的表现。
列表2演示了normalize()方法。它把uri作为程序的唯一的参数,uridemo2打印出标准的相等的uri。
列表2: uridemo2.java
在编译uridemo2后,在命令行输入java uridemo2 x/y/../z/./q,将看到下面的输出:
normalized uri = x/z/q
上面的输出显示y、..和.消失了。这是因为..意味着你想直接在x下面访问名字空间的z部分,.意味着你希望访问与z部分相关的名字空间的q部分。
uri通过提供resolve(string uri)、resolve(uri uri)和relativize(uri uri)方法支持反向解析和相对化操作。如果uri引用是空的(null)这三个方法都会产生nullpointerexception对象。同样,如果指定的uri违反了rfc 2396语法规则,resolve(string uri)通过的内部的create(string uri)调用间接地产生一个illegalargumentexception对象。
列表3的代码演示了resolve(string uri)和relativize(uri uri)。
列表3: uridemo3.java
在编译uridemo3后,在命令行输入java uridemo3 http://www.somedomain.com/ x/../y. ,输出如下:
上面的输出显示相对的uri的x/../y根据基础uri http://www.somedomain.com/分解并(在内部)标准化,取得了已分解的http://www.somedomain.com/uri。给定该uri和基础uri,该已分解的uri根据基础uri相对化获得了y,它是原始的但是标准的相对的uri。
技巧
调用uri的tourl()方法把uri转换为url。
在本周日的专题中我将向读者介绍如何使用url以及mime(多用途的网际邮件扩充协议)的概念以及它如何与url发生联系,敬请期待。
>>>更多专题请看java的类 java网络专题
列表2演示了normalize()方法。它把uri作为程序的唯一的参数,uridemo2打印出标准的相等的uri。
列表2: uridemo2.java
| // uridemo2.java import java.net.*; class uridemo2 { public static void main (string [] args) throws exception { if (args.length != 1) { system.err.println ("usage: java uridemo2 uri"); return; } uri uri = new uri (args [0]); system.out.println ("normalized uri = " + uri.normalize ().tostring ()); } } |
在编译uridemo2后,在命令行输入java uridemo2 x/y/../z/./q,将看到下面的输出:
normalized uri = x/z/q
上面的输出显示y、..和.消失了。这是因为..意味着你想直接在x下面访问名字空间的z部分,.意味着你希望访问与z部分相关的名字空间的q部分。
uri通过提供resolve(string uri)、resolve(uri uri)和relativize(uri uri)方法支持反向解析和相对化操作。如果uri引用是空的(null)这三个方法都会产生nullpointerexception对象。同样,如果指定的uri违反了rfc 2396语法规则,resolve(string uri)通过的内部的create(string uri)调用间接地产生一个illegalargumentexception对象。
列表3的代码演示了resolve(string uri)和relativize(uri uri)。
列表3: uridemo3.java
| // uridemo3.java import java.net.*; class uridemo3 { public static void main (string [] args) throws exception { if (args.length != 2) { system.err.println ("usage: " + "java uridemo3 uribase urirelative"); return; } uri uribase = new uri (args [0]); system.out.println ("base uri = " +uribase.tostring ()); uri urirelative = new uri (args [1]); system.out.println ("relative uri = " +urirelative.tostring ()); uri uriresolved = uribase.resolve (urirelative); system.out.println ("resolved uri = " +uriresolved.tostring ()); uri urirelativized = uribase.relativize (uriresolved); system.out.println ("relativized uri = " +urirelativized.tostring ()); } } |
在编译uridemo3后,在命令行输入java uridemo3 http://www.somedomain.com/ x/../y. ,输出如下:
| base uri = http://www.somedomain.com/ relative uri = x/../y resolved uri = http://www.somedomain.com/y relativized uri = y |
上面的输出显示相对的uri的x/../y根据基础uri http://www.somedomain.com/分解并(在内部)标准化,取得了已分解的http://www.somedomain.com/uri。给定该uri和基础uri,该已分解的uri根据基础uri相对化获得了y,它是原始的但是标准的相对的uri。
技巧
调用uri的tourl()方法把uri转换为url。
在本周日的专题中我将向读者介绍如何使用url以及mime(多用途的网际邮件扩充协议)的概念以及它如何与url发生联系,敬请期待。
| 上一页 1 2 3 4 5 6 |
| 相关内容:邮件 协议 网络协议 网络编程 数据库 |
| 【收藏此页】【大 中 小】【打印】【关闭】 | |
| 上一篇:java中的抽象数据类型探讨 下一篇:国内不谈java--硅谷有感 10万个软件免费高速下载 | |
| ||||||||||||||
|
|
-
关于我们
公司介绍 最新动态 联系我们 -
产品与服务
域名注册 jsp空间 php空间 -
常见问题
空间操作手册 网站备案相关 退款相关问题 -
技术支持
技术 QQ :178966803 联系电话:13616026886 联系邮箱:fjjsp@vip.163.com
扫描关注微信公众号
闽公网安备 35060202000074号