Во-первых, я предлагаю вам использовать интерфейс ErrorController, чтобы вы могли лучше отслеживать, где находятся ваши ошибки.
https://www.baeldung.com/spring-boot-custom-error-page
Что касается вашей ошибки, Я предполагаю, что другие конечные точки вашего контроллера работают нормально (если это не так, проверьте проблемы, связанные с @ComponentScan), а также что у вас есть шаблон message. html в папке шаблонов (на случай, если у вас нет вашего сообщения. html тогда обязательно получится ошибка 404). Но если у вас есть все это:
Go http://localhost: 8080 / message. html прямо из вашего браузера и посмотрите, как это не удается. Итак, отсюда мы знаем, что это не проблема, вызванная вашим перенаправлением
Если это не проблема перенаправления, это означает, что проблема в том, что этот URL-адрес не может быть разрешен. Так что в какой-то момент Spring не знает, где найти вашу страницу (потому что никто ему не сказал :()
Итак, теперь вы перемещаете свой файл «messaga. html» в « src / main / resources / static / "и ... Tadaaa! волшебным образом работает.
Почему это работает сейчас? В основном из-за того, где Spring по умолчанию ищет содержимое stati c (https://docs.spring.io/spring-boot/docs/1.1.5.RELEASE/reference/htmlsingle/#boot -features-spring- mvc -stati c -content ).
Если вы хотите сохранить его как страницу c stati, у него нет смысла в конечную точку go / message для перенаправления на /message.html, вы можете напрямую установить свой href attr, например /message.html
Если вы хотите, чтобы ваше сообщение. html page было не stati c, сделайте его шаблоном и верните его с помощью ModelAndView или как-то еще. https://www.baeldung.com/spring-mvc-model-model-map-model-view
Если вы все еще хотите перенаправить больше материалов. https://www.baeldung.com/spring-redirect-and-forward