1

我想从 servlet 中读取 HTTP 请求中设置的确切 URL。这与任何 URL 重写部分 ( ;jsessionid=…) 一起。

可能吗?

4

1 回答 1

2

您可以通过以下方式获取请求 URL(和 之前的部分;?

StringBuffer requestURL = request.getRequestURL();

如果会话 ID 作为 URL 路径片段附加,您可以检查如下:

if (request.isRequestedSessionIdFromURL()) {
    requestURL.append(";jsessionid=").append(request.getSession().getId());
}

您可以按如下方式获取和附加查询字符串(如果有):

if (request.getQueryString() != null) {
    requestURL.append('?').append(request.getQueryString());
}

最后,获取完整的URL如下:

String fullURL = requestURL.toString();
于 2013-01-22T17:05:22.520 回答