java.net.URI 仅针对查询字符串进行解析

2023-11-21

我正在尝试使用 JDK 构建 URIjava.net.URI.
我想附加到一个绝对 URI 对象,一个查询(以字符串形式)。在示例中:

URI base = new URI("http://example.com/something/more/long");
String queryString = "query=http://local:282/rand&action=aaaa";
URI query = new URI(null, null, null, queryString, null);
URI result = base.resolve(query);

理论(或者我的想法)是解决应该返回:

http://example.com/something/more/long?query=http://local:282/rand&action=aaaa

但我得到的是:

 http://example.com/something/more/?query=http://local:282/rand&action=aaaa

Why #解决()“吃掉”最后一条路?如果新的 URI (query) 构建为:

URI query = new URI(null, null, base.getPath(), queryString, null);

效果很好。


我想亲自回应一下。 Javadoc确实解释得正确。作为URI#resolve()在第 3.b 节中说:

否则,给定 URI 的路径是相对的,因此新 URI 的路径是相对的 通过根据以下路径解析给定 URI 的路径来计算 这个URI。这是通过连接除最后一段之外的所有段来完成的 此 URI 的路径(如果有)与给定 URI 的路径,然后 就像通过调用 Normalize 方法一样对结果进行归一化。

所以....我没有读正确。我应该删除这个回复吗?还是让它自己回复?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java.net.URI 仅针对查询字符串进行解析 的相关文章

  • 在 Java 中克隆对象 [3 个问题]

    这样做会调用Asub的clone方法吗 或者Asub深度克隆是否正确 如果没有的话 有没有办法通过这种方法对Asub进行深度克隆呢 abstract class Top extends TopMost protected Object cl
  • 如何通过 javaconfig 使用 SchedulerFactoryBean.schedulerContextAsMap

    我使用 Spring 4 0 并将项目从 xml 移至 java config 除了访问 Service scheduleService 带注释的类来自QuartzJobBean executeInternal 我必须让它工作的 xml 位
  • Spring AspectJ 在双代理接口时失败:无法生成类的 CGLIB 子类

    我正在使用Spring的
  • 如何在 Spring 中禁用使用 @Component 注释创建 bean?

    我的项目中有一些用于重构逻辑的通用接口 它看起来大约是这样的 public interface RefactorAwareEntryPoint default boolean doRefactor if EventLogService wa
  • 如何更改javaFX中按钮的图像?

    我正在使用javaFX 我制作了一个按钮并为此设置了图像 代码是 Image playI new Image file c Users Farhad Desktop icons play2 jpg ImageView iv1 new Ima
  • Java 集合的并集或交集

    建立并集或交集的最简单方法是什么Set在 Java 中 我见过这个简单问题的一些奇怪的解决方案 例如手动迭代这两个集合 最简单的单行解决方案是这样的 set1 addAll set2 Union set1 retainAll set2 In
  • 从最终实体获取根证书和中间证书

    作为密码学的菜鸟 我每天都会偶然发现一些简单的事情 今天只是那些日子之一 我想用 bouncy castle 库验证 java 中的 smime 消息 我想我几乎已经弄清楚了 但此时的问题是 PKIXparameters 对象的构建 假设我
  • 检测并缩短字符串中的所有网址

    假设我有一条字符串消息 您应该将 file zip 上传到http google com extremelylonglink zip http google com extremelylonglink zip not https stack
  • 帮助将图像从 Servlet 获取到 JSP 页面 [重复]

    这个问题在这里已经有答案了 我目前必须生成一个显示字符串文本的图像 我需要在 Servlet 上制作此图像 然后以某种方式将图像传递到 JSP 页面 以便它可以显示它 我试图避免保存图像 而是以某种方式将图像流式传输到 JSP 自从我开始寻
  • jdbc mysql loginTimeout 不起作用

    有人可以解释一下为什么下面的程序在 3 秒后超时 因为我将其设置为在 3 秒后超时 12秒 我特意关闭了mysql服务器来测试mysql服务器无法访问的这种场景 import java sql Connection import java
  • 像 Java 这样的静态类型语言中动态方法解析背后的原因是什么

    我对 Java 中引用变量的动态 静态类型和动态方法解析的概念有点困惑 考虑 public class Types Override public boolean equals Object obj System out println i
  • 如何对不同的参数类型使用相同的java方法?

    我的问题 我有 2 个已定义的记录 创建对象请求 更新对象请求 必须通过实用方法进行验证 由于这两个对象具有相同的字段 因此可以对这两种类型应用相同的验证方法 现在我只是使用两种方法进行重载 但它很冗长 public record Crea
  • 获取文件的总大小(以字节为单位)[重复]

    这个问题在这里已经有答案了 可能的重复 java 高效获取文件大小 https stackoverflow com questions 116574 java get file size efficiently 我有一个名为 filenam
  • Eclipse 选项卡宽度不变

    我浏览了一些与此相关的帖子 但它们似乎并不能帮助我解决我的问题 我有一个项目 其中 java 文件以 2 个空格的宽度缩进 我想将所有内容更改为 4 空格宽度 我尝试了 正确的缩进 选项 但当我将几行修改为 4 空格缩进时 它只是将所有内容
  • 使用 AsyncTask 传递值

    我一直在努力解决这个问题 但我已经到了不知道该怎么办的地步 我想做的是使用一个类下载文件并将其解析为字符串 然后将该字符串发送到另一个类来解析 JSON 内容 所有部件都可以单独工作 并且我已经单独测试了所有部件 我只是不知道如何将值发送到
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • 最新的 Hibernate 和 Derby:无法建立 JDBC 连接

    我正在尝试创建一个使用 Hibernate 连接到 Derby 数据库的准系统项目 我正在使用 Hibernate 和 Derby 的最新版本 但我得到的是通用的Unable to make JDBC Connection error 这是
  • 如何使用mockito模拟构建器

    我有一个建造者 class Builder private String name private String address public Builder setName String name this name name retur
  • 包 javax.el 不存在

    我正在使用 jre6 eclipse 并导入 javax el 错误 包 javax el 不存在 javac 导入 javax el 过来 这不应该是java的一部分吗 谁能告诉我为什么会这样 谢谢 米 EL 统一表达语言 是 Java
  • 如果没有抽象成员,基类是否应该标记为抽象?

    如果一个类没有抽象成员 可以将其标记为抽象吗 即使没有实际理由直接实例化它 除了单元测试 是的 将不应该实例化的基类显式标记为抽象是合理且有益的 即使在没有抽象方法的情况下也是如此 它强制执行通用准则来使非叶类抽象 它阻止其他程序员创建该类

随机推荐

  • node.js 将变量暴露给模块?

    我读过很多关于如何在 Node js 中创建模块的文章 您可以使用 module exports 将模块内部公开到包含它的文件中 太棒了 反过来又是如何运作的呢 我将使用以下示例 USER JS function User this pro
  • 在 C# 中获取所有控制器和操作名称

    是否可以以编程方式列出所有控制器的名称及其操作 我想为每个控制器和操作实现数据库驱动的安全性 作为一名开发人员 我知道所有控制器和操作 并且可以将它们添加到数据库表中 但是有什么方法可以自动添加它们吗 下面将提取控制器 操作 属性和返回类型
  • 从字符串创建类的实例

    有没有一种方法可以根据我在运行时知道类的名称这一事实来创建类的实例 基本上我会将类的名称放在字符串中 看看激活器 CreateInstance method
  • 内容变化引起的过渡元素大小

    我有一个按钮 里面有一些文字 当您按下它时 文本会发生变化 这使得按钮的宽度发生变化 如果可以通过如下方式来转换元素宽度的变化 那就太好了 el transition width 150ms ease out 当然 只有当您明确更改widt
  • 记录我的网站上的超链接点击

    我有一个网站 允许其他开发人员在其中托管内容 我的目标是记录页面上存在的每个超链接 甚至是其他开发人员托管的内容 的点击次数 我最初的方法如下 a click function event do my logging return true
  • 计算 3 点 (x,y) 的曲率

    我有一个二维欧几里得空间 给出三点 例如 p2是中间点 Point2D p1 new Point2D Double 177 289 Point2D p2 new Point2D Double 178 290 Point2D p3 new P
  • 将 fullcalendar 与 webpack 结合使用

    我使用 npm webpack 和 FullCalendar 但是在使用 fullcalendar 时 我在浏览器控制台中收到以下错误 main js 37556 Uncaught TypeError 0 jquery2 default f
  • 图像对话框 - 扩展 onOk,而不是完全覆盖

    我发现我可以挂钩onOk有了这个 editor on dialogShow function ev var name ev data getName var definition ev data definition if name ima
  • YouTube 嵌入动态尺寸(最小和最大尺寸)

    我想将 YouTube 视频嵌入到网站中 该视频的最小分辨率为 256 144 像素 最大分辨率为 1280 x 720 像素 我想将嵌入视频限制为上面给定的分辨率 我已经找到了动态 YouTube 嵌入的示例 但其中一些只有最小宽度 如果
  • 如何确保只有一个 PHP 脚本实例通过 Apache 运行?

    我有一个index php我在 Google 代码网站上用作提交后 URL 的脚本 该脚本克隆一个目录并构建一个可能需要一些工作的项目 我想避免让这个脚本并行运行多次 如果另一个脚本已经在会话中 我可以使用一种机制来避免执行该脚本吗 您可以
  • 将日期与 Graphview 库一起使用

    我正在使用 GraphView 库 请参阅 https github com jjoe64 GraphView or http www jjoe64 com p graphview library html 但我想使用日期 时间作为 X a
  • C 中的内存段——文本段

    有人可以告诉我什么是 C 中的 文本段 如果可能的话 给我看一个简单的例子 Unix 系统上程序的 文本 段是代码 机器代码 组成程序的函数 特别包括 main 如果程序是用 C 或 C 编写的 它还可以包含只读数据 经典程序中的其他段是
  • R 中的 3D 绘图 - 使用第四维颜色

    我正在使用plot3d函数在我的R脚本中绘制3D图 我想添加第四个维度 即颜色 我怎样才能做到这一点 具体来说 假设我有以下代码 plot3d x y z col cols size 2 type s 我将如何填充cols基于作为我的第四维
  • 如何在 Xcode 4 中每次构建(运行)iOS 应用程序之前自动运行 OCUnit 逻辑测试?

    It seems that I have everything set up correctly When I run command U or select Product gt Test from menu my test runs f
  • 如何使用代码设置 ImageView 的重力(或边距)?

    我想将 ImageView 添加到具有重力或边距的 FrameLayout 中 但 FramLayout 和 ImageView 没有相关的方法 实际上 我找不到 选择Framelayout的原因是为了将ImageView放在ImageVi
  • VB.Net Power 运算符 (^) 从 C# 重载

    我正在编写一个暴露给 VB Net 的 C 类 我想重载vb net 运算符 这样我就可以写 Dim c as MyClass Set c New Dim d as MyClass Set d c 2 在 C 中 运算符是xor运算符和幂运
  • SQL Server 上的数据库数量过多算多少?

    我正在使用一个应用程序 我们将每个客户端的客户端数据存储在单独的 SQL 数据库中 到目前为止 这种方法效果很好 甚至出现了一些错误代码从数据库中选择了错误客户 ID 的情况 并且由于数据库中唯一的数据属于该客户 因此造成的损害并没有想象的
  • 将异步 lambda 方法分配给 C# 和 VB.NET 中类型为任务的变量

    这在 C 中可能吗 以下代码会产生编译器错误 HashSet
  • Firebase:我什么时候应该使用refreshToken?

    根据Firebase 文档 刷新令牌是仅适用于需要显式刷新令牌的高级场景 在什么情况下我应该使用该令牌 使用它有什么好处 private afAuth AngularFireAuth this afAuth auth currentUser
  • java.net.URI 仅针对查询字符串进行解析

    我正在尝试使用 JDK 构建 URIjava net URI 我想附加到一个绝对 URI 对象 一个查询 以字符串形式 在示例中 URI base new URI http example com something more long S