4

我不确定访问所请求 URL 的某些部分的正确方法是什么。

在这种情况下,我想在没有查询变量的情况下获取请求的路径。这是我发现的唯一方法:

String path = getRequest().getResourceRef().getHostIdentifier() + 
     getRequest().getResourceRef().getPath();

结果将是此网址的粗体部分:https ://stackoverflow.com/questions/ask ?query=value

我还发现了大约 6 种不同的方法来获取服务器名称(http://stackoverflow.com),但我担心其中一些在我不知道的某些情况下会失败(为什么会有 6 种不同的方法来做一件事):

getRequest().getHostRef().getHostIdentifier();
getRequest().getHostRef().getIdentifier();
getRequest().getRootRef().getHostIdentifier();
getRequest().getRootRef().getIdentifier();
getRequest().getResourceRef().getHostIdentifier();

这似乎得到了带有查询参数的完整 URL:

getRequest().getResourceRef().getIdentifier();

任何进一步的解释将不胜感激。

4

1 回答 1

5

如果您在 UniformResource(或子类)中,我想您可能正在寻找方法 getReference(),它返回 URI 引用。该类中还有许多您可能感兴趣的其他便捷方法,因此您不必通过请求。请参阅UniformResource (Restlet 2.0)。

于 2010-06-10T04:19:03.123 回答