Spring 3 MVC: тот же URL для всего сайта

#redirect #spring-mvc

#перенаправление #spring-mvc

Вопрос:

Я пытаюсь сделать так, чтобы пользователи видели один и тот же статический URL, хотя страница, на которой они находятся, изменится.

Например, я хочу, чтобы пользователь всегда видел:

 www.mysite.com
  

Даже если я перенаправлю их на

  • www.mysite.com/1.html
  • www.mysite.com/2.html
  • www.mysite.com/2.jsp

и т.д…

У меня Spring MVC, и он скрывает JSP, но я хочу «статический скрытый URL». Кто-нибудь может сказать мне, как этого добиться?

Ответ №1:

Сопоставьте контроллер с «/» и настройте ViewResolvers для обработки каждого представления. Затем контроллеру необходимо направить запрос к соответствующему представлению, вернув другие имена представлений.

Обратите внимание, что без предоставления альтернативных URL-адресов вам нужно будет прибегнуть к Cookies, POST-запросам или другой логике, чтобы определить, какую страницу / представление отображать, что немного усложняет жизнь.

Серьезно подумайте, действительно ли вам нужен один URL на уровне HTTP-запроса. Если все, что вы хотите, это оставить адресную строку браузера неизменной, фреймы или AJAX могут быть более простым способом продвижения вперед, за кулисами они позволяют использовать разные URL-адреса без изменения адреса в верхней части окна браузера.