Obtenir l’URL de la requête dans un servlet

Je veux connaître la différence entre les deux méthodes ci-dessous pour obtenir une URL de demande dans le servlet.

Méthode 1:

Ssortingng url = request.getRequestURL().toSsortingng(); 

Méthode 2:

 url = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getRequestURI(); 

Y a-t-il des chances que les deux méthodes ci-dessus donnent deux URL différentes?

getRequestURL() omet le port quand il est 80 alors que le schéma est http ou lorsqu’il est 443 alors que le schéma est https .

Donc, utilisez simplement getRequestURL() si tout ce que vous voulez est d’obtenir l’URL complète. Cela n’inclut cependant pas la chaîne de requête GET. Vous voudrez peut-être le construire comme suit alors:

 SsortingngBuffer requestURL = request.getRequestURL(); if (request.getQuerySsortingng() != null) { requestURL.append("?").append(request.getQuerySsortingng()); } Ssortingng completeURL = requestURL.toSsortingng();