Как настроить Spring / Springboot для доступа к домашней странице?

#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, который не сопоставлен