赛迪网 > IT技术 Java > Java读书频道-中
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

Java2 参考大全:第18章 网络 (4)

发布时间:2006.06.29 01:17     来源:清华大学出版社    作者:Herbert Schildt 著 张玉清 吴溥峰等 译

18.5 URL
最后的例子有一点含糊,因为现代Internet不是围绕老的协议,如whois、finger及FTP的,而是关于WWW(万维网)的。Web是一个由Web浏览器统一的高级协议和文件格式的松散集合。Web中最重要的一个方面是Tim Berners-Lee设计了一个定位所有网络资源的弹性方法。一旦你能够可靠的命名一个事物,它将成为一个功能强大的范型,统一资源定位(URL)就做这些。URL提供了一个相当容易理解的形式来惟一确定或对Internet上的信息进行编址。URL是无所不在的;每一个浏览器用它们来识别Web上的信息。实际上,Web是用URL 和HTML为所有资源编址的同样陈旧的Internet 。在Java的网络类库中,URL 类为用URL在Internet上获取信息提供了一个简单的、简洁的用户编程接口(API)。
18.5.1 格式化(Format)
http://www.osborne.com/ 和 http://www.osborne.com:80/index.htm是URL 的两个例子。一个URL规范以四个元素为基础。第一个是所用到的协议,用冒号(:)来将它与定位符的其他部分相隔离。尽管现在所有的事情都通过HTTP(实际上,如果你在URL规范中不用“http://”,大多数浏览器都能正确执行)完成,但它不是惟一的协议,常见的协议有http、ftp、gopher和文件。第二个元素是主机名或所用主机的IP地址,这由左边的双斜线(//)和右边的单斜线(/)或可选冒号(:)限制。第三个成分,端口号,是可选的参数,由主机名左边的冒号(:)和右边的斜线(/)限制(它的默认端口为80,它是预定义的HTTP 端口;所以“:80”是多余的)。第四部分是实际的文件路径。多数HTTP服务器将给URL附加一个与目录资源相关的index.html或 index.htm 文件。所以,http://www.osborne.com/ 与http://www.osborne.com/index.htm 是相同的。Java的URL类有多个构造函数,每个都能引发一个MalformedURLException异常。一个常见形式是用与你在浏览器中看到的相同的字符串指定URL:
URL(String urlSpecifier)
下面的两个构造函数形式允许你把URL分裂成它的组成部分:
URL(String protocolName, String hostName, int port, String path)
URL(String protocolName, String hostName, String path)
另一个经常用到的构造函数允许你用一个已经存在的URL作为引用上下文,然后从该上下文中创建一个新的URL。尽管这听起来有些别扭,它实际上是很简单而有用的。
URL(URL urlObj, String urlSpecifier)
下面的例子中,我们为Osborne的下载页面创建一个URL,然后检查它的属性:
// Demonstrate URL.
import java.net.*;
class URLDemo {
public static void main(String args[]) throws MalformedURLException {
URL hp = new URL("http://www.osborne.com/download");
System.out.println("Protocol: " + hp.getProtocol());
System.out.println("Port: " + hp.getPort());
System.out.println("Host: " + hp.getHost());
System.out.println("File: " + hp.getFile());
System.out.println("Ext:" + hp.toExternalForm());
}
}
运行该程序,你将获得下面输出:
Protocol: http
Port: -1
Host: www.osborne.com
File: /download
Ext:http://www.osborne.com/download
注意端口是-1,这意味着该端口没有被明确设置。现在我们已经创建了一个URL对象,我们希望找回与之相连的数据。为获得URL的实际比特或内容信息,用它的openConnection( )方法从它创建一个URLConnection对象,如下:
url.openConnection()
openConnection( ) 有下面的常用形式:
URLConnection openConnection( )
与调用URL对象相关,它返回一个URLConnection对象。它可能引发IOException异常。

<<上一页 1 2 3 4 5 6 7 8 9 10 下一页>>


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 第17章 输入/输出:探究java.io (06-19) · java.util第2部分:更多的实用工具类 (06-11)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
[政务][电信][金融][农业][制造业][中小企业]
[CIO][ERP][协同][IT管理][中间件][电子商务]
[政策][地方][专家][评估][辞典][博客][社区]
· 专题:一路畅通构想曲——让出行不再遭遇堵车
· CIO工作亲历:企业ERP选型不能忽视"选人关"
· 综述:信息化建设给中国监狱带来的各种变化
· 金融业风险管理和法规遵从有五点需考虑的因素
· 保险业CIO关注:该如何建立统一高效的CRM体系
· 调查显示:多数CIO对IT规划仍存在困惑和误解
  博客·论坛 ·曾剑秋·项立刚·Java学习·网管