URI(unform Resources Identifier)是统一资源标识符,用来唯一地标示一个资源,即一个资源对应一个URI。由四部分组成,协议、存放资源的主机域名、资源文件名,端口号。
URL(unform Resource Locator)是统一资源定位器,是一种具体的URI。可以把URL看作是指向互联网资源的”指针“。
资源文件名包含文件路径,通常是相对路径,相对于你访问的应用。java.net包有个URL类,提供多种构造方法,有一个参数的,URL( "http://www.baidu.com:80/index.html#a?uname=xiaoming" ),绝对路径创建,其中#是锚,表示html页面内跳转,?后是用户的信息,抛出的异常是MalformedURLException,参数写的不和规范就会抛出此异常,畸形URL。
也有两个参数的构造函数,URL(URL,String),取参数1的协议、域名、端口号、剔除路径,再加上参数2的相对路径,左斜杠/后的就是相对路径。URL("http://www.baidu.com:80/index.html#a?uname=xiaoming",b.html)得到的是http://www.baidu.com:80/b.html.
查看协议:getProtocol() 查看相对路径资源getPath(),相对于主机名,用的较多
查看主机名:getHost() 得到锚点getRef()
查看端口:getPort() 得到用户输入参数getQuery()若存在锚点,参数会被当作锚点的一部分,返回的是null
查看资源:getFile()
此对象还可获取html页面具体信息openStream(),这个方法是重点。html页面由四部分组成,html标签用于格式化数据,css皮肤用于美化数据,js用于交互数据,数据。
openStream方法返回的是InputStream,链接指定资源的字节输入流。一直分不清输出流输入流,记住,in是readin读入,读是把链接到的资源读到某个地方,out是写write,链接到的资源没有要写的东西,是从某个地方写东西到链接的资源中,write