我想从servlet读取HTTP请求中设置的确切URL。这与所有URL重写部分(;jsessionid= ...)一起使用。

可能吗?

最佳答案

您可以按以下方式获取请求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();

07-26 06:18