Java 中是否存在可变的 URL/URI 对象?

2024-03-16

我有一个字符串形式的 URL,我希望对其进行各种修改。具体来说,如果查询字符串中的值已存在,我需要修改它们;如果不存在,则创建它们。

在我看来,应该已经有一个现有的类,我可以使用我的 URL 作为字符串来构造该类,该类会将 URL 拆分为其组成组件,并允许我单独修改每个组件。对于查询字符串,应该可以将其作为 Map 进行寻址,修改它,然后 toString URL 对象以获取修改后的 URL。

Java 有一个网址类别 http://docs.oracle.com/javase/7/docs/api/java/net/URL.html但它似乎非常有限 - 他们查询字符串被视为字符串,而不是映射,修改它的唯一方法是调用set http://docs.oracle.com/javase/7/docs/api/java/net/URL.html#set%28java.lang.String,%20java.lang.String,%20int,%20java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String%29并指定 URL 的所有组件,而不是只设置我想要设置的组件。有更好的选择吗?如果可能的话,我更喜欢标准 java/javax 包中的东西,但我认为这不太可能。


据我所知,没有这样的 JDK 类。

春季网络(Maven链接 http://mvnrepository.com/artifact/org.springframework/spring-web)提供了UriComponentsBuilder http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/util/UriComponentsBuilder.html?is-external=true建筑类UriComponents http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/util/UriComponents.html which

表示 URI 组件、映射的不可变集合 组件类型到字符串值。包含适合所有人的便利获取器 成分。有效地类似于java.net.URI,但随着更多 强大的编码选项和对 URI 模板变量的支持。

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

Java 中是否存在可变的 URL/URI 对象? 的相关文章

  • 我是否需要安装 SQLite 才能使 SQLiteJDBC 正常工作?

    我想我只是没有 明白 如果我的计算机上尚未安装 SQLite 并且我想编写一个使用嵌入式数据库的 Java 应用程序 并且我将 SQLiteJDBC JAR 下载 导入到我的项目中 那么这就是我所需要的吗 或者 我是否需要先安装 SQLit
  • java中监视目录变化

    我正在使用 WatchService 来监视目录中的更改 特别是目录中新文件的创建 下面是我的代码 package watcher import java nio file import static java nio file Stand
  • 如何在由子控件组成的 SWT 复合材料上跟踪鼠标?

    我创建了自己的控件 我想跟踪鼠标并添加一个MouseTrackListener 很遗憾MouseEnter and MouseLeave当鼠标移动到我的合成部分 即标签和按钮 上时 也会生成事件 Mouse enter mouse ente
  • 如何在java中将数组值排序为循环格式?

    我的数组值如下 String value 1 2 3 4 5 6 7 8 9 10 假设如果我将值 5 传递给 tat 数组 它应该按如下顺序排序 5 6 7 8 9 10 1 2 3 4 怎么办 有人帮忙吗 感谢你 你需要的就是所谓的轮换
  • Java 的支持向量机?

    我想用Java编写一个 智能监视器 它可以随时发出警报detects即将到来的性能问题 我的 Java 应用程序正在以结构化格式将数据写入日志文件
  • 什么是抽象类? [复制]

    这个问题在这里已经有答案了 当我了解抽象类时 我说 WT H 问题 创建一个无法实例化的类有什么意义呢 为什么有人想要这样的课程 什么情况下需要抽象类 如果你明白我的意思 最常见的是用作基类或接口 某些语言有单独的interface构建 有
  • 如何检查某个元素是否存在于一组项目中?

    In an ifJava中的语句如何检查一个对象是否存在于一组项目中 例如 在这种情况下 我需要验证水果是苹果 橙子还是香蕉 if fruitname in APPLE ORANGES GRAPES Do something 这是一件非常微
  • Sun 在 EDT 之外做 GUI 工作的演示?

    我正在看SplashDemo java http download oracle com javase tutorial uiswing examples misc SplashDemoProject src misc SplashDemo
  • 如何仅从 Firestore 获取最新更新的数据?

    在 Firestore 上发现任何更改时始终获取整个文档 如何只获取最近更新的数据 这是我的数据 我需要在第一次加载时在聊天中按对象顺序 例如 2018 09 17 30 40 msg和sendby 并且如果数据更新则仅获取新的msg和se
  • Java Applet 中的 Apache FOP - 未找到数据的 ImagePreloader

    我正在研究成熟商业产品中的一个问题 简而言之 我们使用 Apache POI 库的一部分来读取 Word DOC 或 DOCX 文件 并将其转换为 XSL FO 以便我们可以进行标记替换 然后 我们使用嵌入到 Java 程序中的 FOP 将
  • 如何在 ant 中为 junit 测试设置 file.encoding?

    我还没有完全完成file encoding 和 ant https stackoverflow com questions 1339352 how do i set dfile encoding within ants build xml
  • 从jar中获取资源

    我有包含文件的 jar myJar res endingRule txt myJar wordcalculator merger Marge class 在 Marge java 中我有代码 private static final Str
  • Java继承,扩展类如何影响实际类

    我正在查看 Sun 认证学习指南 其中有一段描述了最终修饰符 它说 如果程序员可以自由地扩展我们所知的 String 类文明 它可能会崩溃 他什么意思 如果可以扩展 String 类 我是否不会有一个名为 MyString 的类继承所有 S
  • hibernate 6.0.2.Final 和 spring boot 2.7.0 的entityManagerFactory bean 未配置问题

    所以最近我想升级我的 Spring Boot 项目项目的一些依赖项 特别是这些组件 雅加达 EE 9 弹簧靴2 7 休眠 6 0 2 Final 完成此操作后 所有更新和代码折射 更新将 javax 导入到 jakarta 以及一些 hib
  • Java Swing - 如何禁用 JPanel?

    我有一些JComponents on a JPanel我想在按下 开始 按钮时禁用所有这些组件 目前 我通过以下方式显式禁用所有组件 component1 setEnabled false 但是有什么办法可以一次性禁用所有组件吗 我尝试禁用
  • 列表过滤器内的 Java 8 lambda 列表

    示例 JSON id 1 products id 333 status Active id 222 status Inactive id 111 status Active id 2 products id 6 status Active
  • Java 正则表达式中的逻辑 AND

    是否可以在 Java Regex 中实现逻辑 AND 如果答案是肯定的 那么如何实现呢 正则表达式中的逻辑 AND 由一系列堆叠的先行断言组成 例如 foo bar glarch 将匹配包含所有三个 foo bar 和 glarch 的任何
  • 抛出 Java 异常时是否会生成堆栈跟踪?

    这是假设我们不调用 printstacktrace 方法 只是抛出和捕获 我们正在考虑这样做是为了解决一些性能瓶颈 不 堆栈跟踪是在构造异常对象时生成的 而不是在抛出异常对象时生成的 Throwable 构造函数调用 fillInStack
  • 由 Servlet 容器提供服务的 WebSocket

    上周我研究了 WebSockets 并对如何使用 Java Servlet API 实现服务器端进行了一些思考 我没有花费太多时间 但在使用 Tomcat 进行一些测试时遇到了以下问题 如果不修补容器或至少对 HttpServletResp
  • java'assert'和'if(){}else exit;'之间的区别

    java和java有什么区别assert and if else exit 我可以用吗if else exit代替assert 也许有点谷歌 您应该记住的主要事情是 if else 语句应该用于程序流程控制 而assert 关键字应该仅用于

随机推荐

  • 由于 TCP 超时,Docker 无法连接到 boot2docker

    我在跑Mac 操作系统 10 9 5 http en wikipedia org wiki OS X Mavericks 小牛 我关注了https docs docker com installation mac https docs do
  • 跨机器同步 Git 存储库,无需推送

    我有三台计算机 它们的所有应用程序都应具有相同的设置 由于它们都有使用这些设置运行的进程 所以我never我想推送 相反我希望它们每个人都跟踪另外两个 并且仅在我登录时才拉取 经过几天的研究后 我发现的所有文章似乎都假设您希望先推送到中央存
  • 命名空间“System.Data”中不存在类型或命名空间名称“SQLite”(是否缺少程序集引用?)

    是的 我已将 System Data Sqlite dll 添加到我的项目 VS2012 中 是的 我已经添加了参考 是的 我已经仔细检查了引用是否已创建 引用属性 gt 路径正确 是的 我用过 Google Bing 不 我不知道为什么我
  • 2>&1 在 PowerShell 中意味着什么

    我有以下脚本 if timeout ne null var timeout 2 gt 1 gt logDir logName else var2 gt 1 gt logDir logName 我很好奇什么2 gt 1是 或者 它代表什么 我
  • 同级别CSS

    如果我有 3 个 div 在同一级别 而不是一个在另一个 如何在不使用 ID 和类的情况下将鼠标悬停在另一个 div 上时更改另一个 div 的颜色 我想要这样的东西 div div div div div div 和CSS 1 hover
  • firebug (1.10.1) 表明 javascript 不限于 firefox (13.0) 中的单个线程

    今天在 Firefox 中调试一些客户端 JavaScript 时 我遇到了一些我觉得很奇怪而且有点令人不安的事情 另外 在使用 IE VS2010 调试相同的脚本时 我无法复制此行为 我创建了一个简单的示例 html 文档来说明我所看到的
  • 如何使用 DateTime 类在 PHP 中进行时区转换?

    我正在尝试将当前时间转换为 UTC 并将 UTC 转换为当前时区 这是我所做的 schedule date new DateTime triggerOn new DateTimeZone UTC triggerOn schedule dat
  • 卸载 gcc

    我想通过终端卸载我的 gcc 当我打字时 gcc version 输出是 gcc Ubuntu 5 4 0 6ubuntu1 16 04 4 5 4 0 20160609 Copyright C 2015 Free Software Fou
  • 使用外部模块的类型增强模块声明

    Context 我正在为 NativeScript 制作一个 React 渲染器 即允许您使用 React 声明 NativeScript UI 的库 并且我想为其提供类型 React 的类型已经完全支持 React DOM 即自始至 终都
  • 如何将 sha1() 密码转换为 FOSUserBundle?

    我有一个遗留应用程序 可以使用以下命令对密码进行加密sha1 功能 无盐 现在该网站正在转换为 Symfony2 和 FOSUserBundle 我如何将它们转移到新数据库 我有同样的问题 只需像 iamdto 所解释的那样覆盖编码器 ap
  • 在 ReSharper 中禁用 C# 6.0 支持

    在使用ReSharper时 它建议 为此项目启用C 6 0支持 我愚蠢地点击了它 现在正如广告所宣传的那样 它为我提供了 C 6 0 的建议 然后给了我错误 因为我在这个项目中没有使用 C 6 0 如何禁用 C 6 0 支持 使其恢复到之前
  • 如何在同一个项目中拥有 iOS 应用程序和 OS X 应用程序?

    我见过这个问题 https stackoverflow com questions 4872541 is it possible to have both an ios app and mac app in the same project
  • 可以安装 EGit:缺少要求:Git Team Provider Core

    所以我将 Coldfusion Builder 与 Ecplise 结合使用 我正在尝试在其中安装 EGit 以便我可以执行 Git 操作 我唯一能安装的是 EGit 0 11 1http download ecplise org rele
  • 如何使用 HTML 输入文件类型限制文件类型?

    如何使用 HTML 输入文件类型限制文件类型 我有这个
  • 编程错误:在 django 中同时使用 order_by 和 unique 时

    我有一个如下所示的模型 class ProductScore models Model client models ForeignKey User created models DateTimeField default datetime
  • Django 复合/嵌套/子表单?

    我正在寻找这些 Django 的更新版本超级形式 http code djangoproject com ticket 3706 似乎无法让它在 Django 1 2 中工作 特别是 我希望它能够与 ModelForms 一起使用 我的用例
  • 存储和查询气象数据大数据集的更好方法是什么

    我正在寻找一种便捷的方式来存储和查询大量气象数据 几TB 有关问题中间数据类型的更多信息 之前我一直在寻找 MongoDB 的方向 我自己之前的很多项目都使用过它 而且处理起来很舒服 但最近我发现了HDF5 http en wikipedi
  • 下拉菜单 - jQuery/CSS

    我正在做的下拉菜单有问题 请检查此屏幕截图 http img215 imageshack us img215 8449 hovermenu png http img215 imageshack us img215 8449 hovermen
  • JBoss类加载问题

    我有一个在 tomcat 上完美运行的 Web 应用程序 war 文件 现在我需要让这个相同的应用程序在 JBoss 4 2 2 上运行 同一 JBoss 实例上运行着其他应用程序 问题是当我尝试在 JBoss 上部署 war 应用程序时
  • Java 中是否存在可变的 URL/URI 对象?

    我有一个字符串形式的 URL 我希望对其进行各种修改 具体来说 如果查询字符串中的值已存在 我需要修改它们 如果不存在 则创建它们 在我看来 应该已经有一个现有的类 我可以使用我的 URL 作为字符串来构造该类 该类会将 URL 拆分为其组