Вы уверены?
Глядя на код, кажется, нет никакой разницы.Оба варианта вызывают response.encodeRedirectURL (targetUrl), см. Строку 388 RedirectView:
if (http10Compatible) {
// Always send status code 302.
response.sendRedirect(response.encodeRedirectURL(targetUrl));
}
else {
HttpStatus statusCode = getHttp11StatusCode(request, response, targetUrl);
response.setStatus(statusCode.value());
response.setHeader("Location", response.encodeRedirectURL(targetUrl));
}
У меня была та же проблема, но она была вызвана установкой tomcat за загрузочным балансировщиком.Loadbalancer выполняет SSL-квитирование и переадресацию, чтобы установить простое http-соединение.
Решением было бы отправить специальный заголовок Http в ваш Loadbalancer, чтобы tomcat мог «доверять» этому соединению.Использование фильтра сервлетов должно установить флаг response.isSecure.Затем перезаписать RedirectView, чтобы увидеть, является ли response.isSecure, и правильно ли его обработать.
Я оставил это решение коротким, потому что не уверен, обрабатывает ли он вопрос.