Когда вы делаете
return "login";
в вашем root()
методе-обработчике, вы на самом деле просто возвращаете имя представления (как правило, обрабатывается JstlView
, но здесь обрабатывается ThymeleafView
, поскольку вы используете Thymeleaf), но веб-инфраструктура Spring MVC (с вашим веб-контейнером Servlet) будет пытаться найти и визуализировать.
Когда вы делаете
return "redirect:chat?username=" + username;
в своем методе обработчика joinChart
, вы фактически возвращаете перенаправление имя представления , которое сервер будет отображаться как ответ 303 с заголовком Location
. Клиент будет проинструктирован отправить новый запрос на /chat
. Если у вас нет сопоставления запроса для этого, очевидно, что сервер вернет 404.
Вам необходимо добавить сопоставление запроса для /chat
@RequestMapping ("/chat")
public String chat() {
return "chat";
}