Java中规范化URL三种方式
source link: https://www.jdon.com/72365.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Java中规范化URL三种方式
统一资源定位器 (URL)是 Web 开发的重要组成部分,因为它们有助于定位和获取Internet上的资源。然而,URL 可能不一致或格式不正确;这可能会导致加工和获取所需材料出现问题。
URL规范化将给定的数据转换为规范形式,确保一致性并促进可操作性。
在本教程中,我们将研究在 Java 中标准化 URL 的不同技术。
手动标准化
执行手动标准化涉及应用自定义逻辑来标准化 URL。 此过程包括删除无关元素,例如不必要的查询参数和片段标识符,以将 URL 提炼为其基本核心。假设我们有以下 URL:
https://www.example.com:8080/path/to/resource?param1=value1&m2=value2fragment
规范化的 URL 应如下所示:
https://www.example.com:8080/path/to/resource
1、使用 Apache Commons Validator
Apache Commons Validator 库中的 UrlValidator 类是一种用于验证和规范化 URL 的便捷验证方法。首先,我们应该确保我们的项目包含 Apache Commons Validator依赖项,如下所示:
<dependency> |
现在,我们准备实现一个简单的 Java 代码示例:
String originalUrl = "https://www.example.com:8080/path/to/resource?param1=value1¶m2=value2fragment"; |
如果 URL 被证明是合法的,我们会手动对其进行标准化并删除查询参数和片段,尤其是“?”之后的所有内容。最后,我们使用assertEquals()方法来验证expectedNormalizedUrl和normalizedUrl的等价性。
2、利用Java的URI类
在 java.net 包中建立 Java URI类提供了管理 URI 的其他功能,包括规范化。 让我们看一个简单的例子:
@Test |
3、使用正则表达式
正则表达式是 Java 中 URL 规范化的一种非常有用的机制。它们使您能够指定许多与 URL 匹配的模式和转换,并根据您的需要进行更改。这是一个简单的代码示例:
@Test |
此外,我们利用matcher.find()方法来查找输入序列中与 regex 定义的模式匹配的下一个子序列。如果matcher.find()方法返回 true,则matcher.group(1)会取出与regex匹配的子字符串。在这种情况下,它专门捕获正则表达式中第一个捕获组的内容(用括号表示),这被认为是规范化的 URL。
结论
总之,我们探索了几种方法,例如手动规范化、Apache Commons Validator 库、Java 的 URI 类以及 Java 中 URL 规范化的正则表达式。
Recommend
-
45
依然在学习node的艰辛过程中,最近学习了http相关的知识,学到了东西当然第一时间就来和大家分享分享,今天呢就教大家来看看利用node中的http模块去实现不同的缓存策略!!! 我们都知道,对于我们前端开发来说,缓存是一个十分重要的东西,即希望用户不能每次请
-
56
作者简介:好好先生 kubernetes是容器管理编排引擎,是继openstack之后又一个优秀的云计算系统。kubernetes有着灵活,快速,健壮等特点,同时全面拥抱微服务架构,是当前容...
-
61
在vue angular react三大前端框架的大前端时代。许多人选择了vue,在 github 上的star,vue已经超过react的数量了。虽然star并不能代表vue更强,不过在发展速度上看来,vue确实很快。 在模块化的前端时代,万物皆组件,v
-
66
有时候项目需要显示一些非系统的字体达到一些UI的效果,目前设置字体有三种方式,默认方式、bundle方式,coreText方式。 1 默认方式 这种方式就是正常的字体设置方式 label.font = [UIFont fontwithname...
-
42
该文章不存在或者被删除 ...
-
3
让DRF的URL支持前缀的一种方式 2022-03-08 17:55:31 +08 字数:1023 标签: Python
-
3
三种获取URL参数值的方法 作者:天行无忌 2022-09-16 09:56:18 如果在前端处理任何业务或请求逻辑,了解如何从 URL 中检索查询字符串值非常重要。本文分享三种从 URL 获取参数的方法。 在 URL 中,查询参...
-
3
Java实现代理模式的三种方式 作者:顽石九变 2022-11-03 08:44:24 代理模式是项目中常用的一种设计模式。提供了间接访问目标对象的一种方式;即通过代理对象访问目标对象。这样做的好处是,可以在不改变原有目标对...
-
5
js 模拟点击方式打开URL Published on Nov 29, 2022 in with 0 comment const ope...
-
5
Elasticsearch 是一个基于 Lucene 实现的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK