URL提供了一个相当容易理解的形式来惟一确定或对Internet上的信息进行编址。浏览器用URL来识别Web上的信息。在Java有网络类库中,java.net.URL类为使用URL在Internet上获取信息提供了一个简单的、简洁的用户编程接口。
标准的URL以四个元素为基础:
第一个是协议名,用冒号(:)来将它与定位符其他部分相隔离。尽管现在所有的事情都通过HTTP协议完成,但它不是惟一的协议,常见的其他协议还有ftp、gother、mailto等。
第二个元素是主机名或所用主机的IP地址,这由左边的双斜线(//)和右边的单斜线(/)或可选冒号(:)限制。
第三个成分,端口号,是可选的参数,由主机名左边的冒号(:)和右边的斜线(/)限制(默认端口为80,是预定义的HTTP端口,所以“:80”是多余的)。
第四个部分是实际的文件路径。因此标准的URL格式定义如下:
<scheme> :// <user> : <password> @ <host> : <port> / <url-path>
为了表示URL,在Java语言的网络类库java.net中提供了一个URL类,该类为在Internet上获取信息提供了一个简单的、简洁的用户编程接口。URL类有多个构造方法,通过构造方法来初始化一个URL对象。
public URL(String urlSpecifier);
public URL(URL baseURL, String relativeURL);
public URL(String protocolName, String hostName, int port, String path);
public URl(String protocolName, String hostName, String path); // 使用缺省80端口
第一个构造方法是通过一个表示URL地址的字符串来构造一个URL对象,例如:
URL url1= new URL("http://len.iteye.com");
第二个构造方法是通过一个URL对象和一个文件名来构造一个URL对象,例如:
URL url1 = new URL(http://len.iteye.com);
URL url2 = new URL(url1, "index.html");
另外的两个构造方法则是通过分别指定传输协议、主机名、端口号、和文件名来构造一个URL对象,例如:
URL url3 = new URL("http", "www.len.com", 80 ,"index.html");
URL url4 = new URL("http", "www.len.com", "index.html");
除了上面的构造方法外,URL还提供了一些成员方法用于获取URL对象的属性:
public String getProtocol(); // 获取URL的协议名
public String getHost(); // 获取URL的主机名
public int getPort(); // 获取URL的端口号,如果没高端口,则返回-1
public String getFile(); // 获取URL的文件名
标准的URL以四个元素为基础:
第一个是协议名,用冒号(:)来将它与定位符其他部分相隔离。尽管现在所有的事情都通过HTTP协议完成,但它不是惟一的协议,常见的其他协议还有ftp、gother、mailto等。
第二个元素是主机名或所用主机的IP地址,这由左边的双斜线(//)和右边的单斜线(/)或可选冒号(:)限制。
第三个成分,端口号,是可选的参数,由主机名左边的冒号(:)和右边的斜线(/)限制(默认端口为80,是预定义的HTTP端口,所以“:80”是多余的)。
第四个部分是实际的文件路径。因此标准的URL格式定义如下:
<scheme> :// <user> : <password> @ <host> : <port> / <url-path>
为了表示URL,在Java语言的网络类库java.net中提供了一个URL类,该类为在Internet上获取信息提供了一个简单的、简洁的用户编程接口。URL类有多个构造方法,通过构造方法来初始化一个URL对象。
public URL(String urlSpecifier);
public URL(URL baseURL, String relativeURL);
public URL(String protocolName, String hostName, int port, String path);
public URl(String protocolName, String hostName, String path); // 使用缺省80端口
第一个构造方法是通过一个表示URL地址的字符串来构造一个URL对象,例如:
URL url1= new URL("http://len.iteye.com");
第二个构造方法是通过一个URL对象和一个文件名来构造一个URL对象,例如:
URL url1 = new URL(http://len.iteye.com);
URL url2 = new URL(url1, "index.html");
另外的两个构造方法则是通过分别指定传输协议、主机名、端口号、和文件名来构造一个URL对象,例如:
URL url3 = new URL("http", "www.len.com", 80 ,"index.html");
URL url4 = new URL("http", "www.len.com", "index.html");
除了上面的构造方法外,URL还提供了一些成员方法用于获取URL对象的属性:
public String getProtocol(); // 获取URL的协议名
public String getHost(); // 获取URL的主机名
public int getPort(); // 获取URL的端口号,如果没高端口,则返回-1
public String getFile(); // 获取URL的文件名
import java.net.MalformedURLException;
import java.net.URL;
public class URLTest{
public static void main(String[] args) throws MalformedURLException{
URL hp = new URL("http://len.iteye.com");
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());
}
}