String urlString = "http://192.168.21.77:8080/swp/mainPage?aa=11&bb%3D22";
URI uri = URI.create(urlString);
System.out.println(uri.getPath());
System.out.println(uri.getQuery());//解码
URL url2 = new URL(urlString);
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
分享到:
相关推荐
js 中乱码处理法方式 encodeURIComponent(encodeURIComponent(customerAddress...js到java encodeURI(url) String qijuType= new String(request.getParameter( ("qijuType")).getBytes("ISO-8859-1"), "utf-8");
Java 8 documentation for class URI, a good reference for recapping the concepts and use cases of URI/URL/URN.
方法二: 代码如下://判断当前系统是否支持Java AWT Desktop扩展 if(java.awt.Desktop.isDesktopSupported()){ try{ //创建一个URI实例,注意不是URL java.net.URI uri=java.net.URI.create(“//www.j
URL参数拼接, URL参数拼接, URL参数拼接, URL参数拼接, URL参数拼接
对java网络编程里的URL、URI研究,如果需要我也可以将研究上篇传上来
URI-模板-模式-匹配器概述 将 URL 与许多 RFC 6570 URI 模板级别 1 进行比较以找到匹配项。 代码是用Java编写的。 这解决了什么问题? 给定一个 URL,HTTP 服务器必须确定该 URL 是否与 URI 模板之一匹配。 一个用例...
URI、URL和URN是识别、定位和命名互联网上的资源的标准途径。本文分析了URI、URL和URN和Java API的URI和URL类
它接受任意 URL 并将其转换为 java.net.URI 执行任何必要的操作,以使 Java 神们高兴。 Rant 包含在 Java 文档中。 URI javaIsOkayWithThis = GetURI.orDieTryin(demonicUrl);该方法包括以真实人类行为为模型的...
本文小编将基于 SpringBoot 集成 Shiro 实现动态uri权限,由前端vue在页面配置uri,Java后端动态刷新权
[考试试题] 09年Java认证考试:Java网络编程之URI、URL研究专题五 [考试试题] 09年Java认证考试:Java网络编程之URI、URL研究专题四 [考试试题] 09年Java认证考试:Java网络编程之URI、URL研究专题三 [考试试题] 09...
URI操作 自2019年10月18日起该产品包已停售 您应该改用: 。 。 该软件包包含: 用于格式化URI字符串表示形式输出的对象; 根据获取URI参考信息的; URI中间件,可简化对Uri对象的过滤和操作; 系统要求 你需要...
URI-模板-模式-匹配器概述将 URL 与许多 RFC 6570 URI 模板级别 1 进行比较以找到匹配项。 代码是用Java编写的。 这解决了什么问题? 给定一个 URL,HTTP 服务器必须确定该 URL 是否与 URI 模板之一匹配。 一个用例...
java
这两天在写代码的时候,由于涉及到资源的位置,因此,需要在Java Bean中定义一些字段,用来...带着这些问题到网上去搜了下,没发现让自己看了明白的解释,于是,想到了Java类库里有两个对应的类java.net.URI和java.net
ajax,js传值到后台,后台出现java.io.CharConversionException: isHexDigit 异常
ets_utils组件共提供四个子模块,分别是:js_api_module、js_util_module、js_sys_module和js_concurrent_module,...URI表示统一资源标识符引用。xml表示指可扩展标记语言。XmlSerializer接口用于生成一个xml文件。
解决url传递中文乱码问题,解决后台接收到的汉字是乱码的
...
...
Locate, identify, and download network resources with Java’s URI and URL classes Dive deep into the HTTP protocol, including REST, HTTP headers, and cookies Write servers and network clients, using ...