gpt4 book ai didi

java - 计算servlet中的相对路径?

转载 作者:行者123 更新时间:2023-12-04 05:44:31 24 4
gpt4 key购买 nike

我想创建一个 servlet 过滤器来计算任何给定 servlet 请求的根 servlet 的相关 url 路径。

所以对于绑定(bind)到 http://somedomain/context/ 的 servlet :

http://somedomain/context/path1/path2 的请求将返回 ..
并向 http://somedomain/context/path1/path2/path3 提出请求将返回 ../..
有谁知道一种可靠的方法来做到这一点?

TIA

最佳答案

使用新的 java 文件系统实用程序 (1.7),Path relativize(Path)方法应该有效。来自 the Path Operations Tutorial .

Path p1 = Paths.get("joe");
Path p2 = Paths.get("sally");

在没有任何其他信息的情况下,假设 joe 和 sally 是 sibling ,这意味着节点位于树结构中的同一级别。要从 joe 导航到 sally,您需要先向上导航到父节点,然后再向下导航到 sally:
// Result is ../sally
Path p1_to_p2 = p1.relativize(p2);
// Result is ../joe
Path p2_to_p1 = p2.relativize(p1);

现在,这种技术是否可取,我将留给其他人评论。

请注意,路径不需要存在于磁盘上,您也可以声明具有固定根的路径,因此 Path喜欢 new Path("/servlet/subdir/subdir2")Path喜欢 new Path("/servlet")应该 relativize(...)Path喜欢 new Path("../..") .`

关于java - 计算servlet中的相对路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10851892/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com