Я решил это сам, но я так долго обнаружил такое простое решение, я полагал, что это заслуживает того, чтобы быть зарегистрированным здесь.
У меня есть типичная установка Spring 3 MVC с InternalResourceViewResolver:
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/" />
<property name="suffix" value=".jsp" />
</bean>
У меня есть довольно простой метод обработчика в моем контроллере, но я упростил его еще больше для этого примера:
@RequestMapping("/groups")
public String selectGroup() {
return "redirect:/";
}
Проблема в том, что если я перейду к https://my.domain.com/groups
, я вернусь в http://my.domain.com/
после перенаправления. (На самом деле мой балансировщик перенаправления перенаправляет все HTTP-запросы на https, но это просто вызывает несколько предупреждений браузера типа "Вы уходите/входите в безопасное соединение" для людей, у которых есть такие предупреждения.)
Итак, возникает вопрос: как получить Spring для перенаправления на https при использовании исходного запроса?