zoukankan      html  css  js  c++  java
  • JAVA URI URL 区别

    Java代码  收藏代码
    1. String urlString = "http://192.168.21.77:8080/swp/mainPage?aa=11&bb%3D22";  
    2.     URI uri = URI.create(urlString);  
    3.     System.out.println(uri.getPath());  
    4.     System.out.println(uri.getQuery());//解码  
    5.     URL url2 = new URL(urlString);  
    6.     System.out.println(url2.getQuery());//不解码  



    URI可以解码 

    引用

    注意,URI 类在某些特定情况下对其组成字段执行转义。建议使用 URI 管理 URL 的编码和解码,并使用 toURI() 和 URI.toURL() 实现这两个类之间的转换。 

    也可以使用 URLEncoder 和 URLDecoder 类,但是只适用于 HTML 形式的编码,它与 RFC2396 中定义的编码机制不同。 



    引用

    URI是个纯粹的句法结构,用于指定标识Web资源的字符串的各个不同部分。URL是URI的一个特例,它包含了定位Web资源的足够信息。其他URI,比如: 
    mailto:cay@horstman.com 
    则不属于定位符,因为根据该标识符无法定位任何资源。像这样的URI我们称之为URN(统一资源名称)。 
    在Java类库中,URI类不包含任何访问资源的方法,它唯一的作用就是解析。相反的是,URL类可以打开一个到达资源的流。因此URL类只能作用于那些Java类库知道该如何处理的模式,例如:http:,https:,ftp:,本地文件系统(file:),和Jar文件(jar:)。 
    URI类的作用之一是解析标识符并将它们分解成各个不同的组成部分。你可以用以下方法读取它们: 
    getSchema 
    getHost 
    getPort 
    getPath 
    getQuery 

    URI类的另一个作用是处理绝对标识符和相对标识符。如果存在一个如下的绝对URI: 
    http://docs.mycompany.com/api/java/net/serversocket.html 
    和一个如下的相对URI: 
    ../../java/net/socket.html#Socket() 
    那么你可以将它们合并成一个绝对URI: 
    http://docs.mycompany.com/api/java/net/socket.html#Socket() 
    这个过程被称为相对URL的转换。 
    与此相反的过程成为相对化。例如:假设你有一个基本URI: 
    http://docs.mycompany/api 
    和另一个URI: 
    http://docs.mycompany/api/java/lang/String.html 
    那么相对化后的URI就是: 
    java/lang/String.html 
  • 相关阅读:
    poj 1743 Musical Theme 后缀数组
    poj 1743 Musical Theme 后缀数组
    cf 432D Prefixes and Suffixes kmp
    cf 432D Prefixes and Suffixes kmp
    hdu Data Structure? 线段树
    关于position和anchorPoint之间的关系
    ios POST 信息
    CALayers的代码示例
    CALayers详解
    ios中得sqlite使用基础
  • 原文地址:https://www.cnblogs.com/jing1617/p/6473348.html
Copyright © 2011-2022 走看看