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();