Понятия не имею, что мы здесь делаем неправильно. Я пытаюсь настроить одностраничный проект Spring MVC, чтобы я мог разобраться во всем. У меня один экран greeting.html
, который я пытаюсь загрузить. Вот мой класс контроллера для его загрузки:
@Controller
public class GreetingController {
@GetMapping("/greeting")
public String getGreeeting(@RequestParam(name="name", required=false, defaultValue="World") String name, Model model) {
model.addAttribute("name", name);
return "greeting";
}
}
Это прекрасно работает, когда greeting.html
в /resources/templates/greeeting.html
. Тем не менее, я хотел бы, чтобы это было в папке WEB-INF
. Я пытался поместить его в WEB-INF/views/greeting.html
и webapp/WEB-INF/views/greeting.html
. Затем я пытаюсь использовать InternalResourceViewResolver
, как я прочитал в Интернете:
@Bean
public InternalResourceViewResolver viewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setPrefix("/WEB-INF/views/");
viewResolver.setSuffix(".html");
return viewResolver;
}
Насколько я понимаю, это должно позволить ему найти greeting.html
за одной из моих настроек папки WEB-INF. Однако когда я перехожу на localhost:8080/greeting
, я получаю 404 вместе со следующим сообщением в консоли:
WARN 1439 --- [nio-8080-exec-1] o.s.w.s.r.ResourceHttpRequestHandler : Path with "WEB-INF" or "META-INF": [WEB-INF/views/greeting.html]
Я в полной растерянности относительно того, что даже происходит или как это исправить, каждый онлайн-урок делает именно это и не имеет проблем, я не могу найти кого-либо онлайн с такой же проблемой. Любое руководство было бы здесь полезно.