#java #spring #spring-boot #spring-mvc #thymeleaf
#java #spring #spring-boot #spring-mvc #thymeleaf
Вопрос:
Я пытаюсь создать свое первое веб-приложение с помощью Springboot (JPA, H2) и Thymeleaf.
Моя цель — получить / изменить / удалить данные, хранящиеся в базе данных ( entities/
), через контроллеры ( controllers/
).
Однако домашний маршрут не работает.
Можете ли вы сказать мне и объяснить, что я сделал не так? Я забыл что-то настроить?
Спасибо за помощь!
Ошибка
URL : localhost:8082/
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Fri Mar 08 14:22:21 CET 2019
There was an unexpected error (type=Not Found, status=404).
No message available
IndexController
@RestController
@RequestMapping("/")
public class IndexController {
@GetMapping(value = "/")
public ModelAndView getHome(){
ModelAndView mv = new ModelAndView();
mv.setViewName("index");
return mv;
}
}
index.html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Home</title>
<link rel="stylesheet" href="../static/css/bootstrap.min.css">
</head>
<body>
<p>Test</p>
</body>
</html>
Папки
projetname/
|__src/
|__main/
|__java/
|__projectname/
| |__controllers/
| | |__IndexController.java
| |__entities/
| |__repositories/
| |__App.java
|__resources/
|__static/
| |__css/
| |__js/
|__templates/
| |__index.html
|__data.sql
|__application.properties
Комментарии:
1. следуйте этому, и у вас будет работающий сервис в считанные минуты: spring.io/guides/gs/rest-service
2.
@RequestMapping
/
проблема может быть как в контроллере, так и в методе. Это сопоставится с//
. Вы можете удалить страницу уровня класса.3. @Stultuske Я уже пытался следовать этому документу.
4. @Michael даже если я удалю
@RequestMapping("/")
, у меня все еще есть проблема.
Ответ №1:
убедитесь, что spring-boot-starter-thymeleaf включен в качестве зависимостей проекта.
Комментарии:
1. Как я мог это пропустить… Большое спасибо!
Ответ №2:
При запуске приложения просмотрите его журнал и найдите сопоставления, подобные
2019-03-08 17:52:24.864 INFO 9592 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/greeting]}" onto public hello.Greeting hello.GreetingController.greeting(java.lang.String)
Это означает, что вы можете вызывать URL с помощью /greeting, и он отображается на соответствующий контроллер
ошибка 404 означает, что вы вызываете URL, который не сопоставлен