欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

URI和URL

程序员文章站 2024-02-14 22:37:52
...

URI:

统一资源标识符(Uniform Resource Identifier),是一个用于标识某一互联网资源名称的字符串。

包含:主机名,标识符,相对URI

如:http://java.sun.com:80/j2se/1.3/hello.html

URL:

统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。

互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。

在Java中,URI表示一个统一资源的标识符,不能用于定位任何资源,唯一的作用就是解析

URL则包含一个可以打开到达该资源的输入流,可以简单理解URL是URI的特例

简单理解:URI和URL都表示一个资源路径

创建URL对象:

URL(String protocol,String host,int port,String file)

public class URLConnectionDemo {

	public static void main(String[] args) throws Exception {
		URL url=new URL("http", "localhost", 8080, "/bookmall/index.jsp");
		//打开URL连接对象
		URLConnection conn=url.openConnection();
		//InputStream getInputStream()返回从此打开的连接读取的输入流
		//网络--输入-->程序中
		InputStream in=conn.getInputStream();
		Scanner sc=new Scanner(in);
		while(sc.hasNextLine()) {
			String line=sc.nextLine();
			System.out.println(line);
		}
		

	}

}

URLEncoder和URLDecoder用于完成普通字符串和application/x-www-form-urlencoded MIME字符串之间的相互转换

URI和URL

编码和解码:

在web的浏览器中,不同的浏览器的编码和解码规则是不一样的

对于W3C浏览器:遵循W3C组织规范的浏览器,(非IE)

编码:byte[] data="小龙".getByte(String charsetName);

解码:String str=new String(data,String charseetName);

对于IE浏览器:

编码使用的是MIME机制

public class URLEncoderDemo {

	public static void main(String[] args) throws UnsupportedEncodingException {
		//获取平台的默认的字符集
		System.out.println(System.getProperty("file.encoding"));
		String name="小肥龙 will111";
		//使用UTF-8编码
		String ret=URLEncoder.encode(name,"UTF-8");
		System.out.println(ret);
		//使用UTF-8解码
		String msg=URLDecoder.decode(ret,"UTF-8");
		System.out.println(msg);
		
				

	}

}