Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Spring приложение в NetBeans 
:(
    Опции темы
korob2001
Дата 18.4.2023, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: нет
Всего: 61



Привет всем!

Попала, мне в руки книга "Spring быстро" и начал я её читать. Тема оказалась увлекательная и дошёл я за пару дней к теме Spring Boot. Все примеры писал в NetBeans 17. По совету автора зашёл на https://start.spring.io/, создал заготовку под Spring MVC приложение. Открыл его в NetBeans, установил Tomcat 10.x. И уже третий день пытаюсь запустить всю эту канитель.
Добавил простейший контроллер HomeController.java
Код

package my.site.java.main.controllers;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class HomeController {
    
    @RequestMapping("/home")
    public String home() {
        return "home.html";
    }
}

Создал в каталоге src/main/resources/static HTML файл home.html
Код

<!DOCTYPE html>
<html>
    <head>
        <title>Hello, world!</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
        <h1>Hello, world!</h1>
    </body>
</html>

и запускаю. Tomcat стартует, приложение деплоится, но выходе получаю постоянно одну и ту же ошибку.
Код

Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.

Tue Apr 18 13:28:48 CEST 2023
There was an unexpected error (type=Not Found, status=404).

Пытался искать в сети, но всё, что находил это проблему со структурой пакетов, например, мне https://start.spring.io/ сгенерировал такую структуру:
Код

my.site.java.main.MySpringAppApplication.java
my.site.java.main.ServletInitializer.java

я создал пакет для контроллеров и положил в него контроллер:
Код

my.site.java.main.controllers.HomeController.java

Указал даже в файле my.site.java.main.MySpringAppApplication.java, что бы он искал компоненты в my.site.java.main.controllers:
Код

package my.site.java.main;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;

@SpringBootApplication
@ComponentScan(basePackages = {"my.site.java.main.controllers"})
public class MySpringAppApplication {
    public static void main(String[] args) {
        SpringApplication.run(MySpringAppApplication.class, args);
    }
}

результат тот же. ;(((( Пробовал в STS запускать, там всё работает. Такое впечатление, что контроллер не может найти файл home.html, потому как, когда я добавляю HTML файл в каталог src/main/resources/static, то файл добавляется вообще в каталог WebPages, рядом с каталогом META-INF, я его потом вручную перетаскиваю в src/main/resources/static.
У меня вообще такое впечатление, что я один использую NetBeans, в сети полно примеров на IDEA, но для WEB нужно Ultimate версия, которой цены сложить не могут, потому её даже не продают, а сдают в аренду. (аля подписка). Spring учу для себя.


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
LSD
Дата 18.4.2023, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15709
Регистрация: 24.3.2004

Репутация: 15
Всего: 537



Спринг сам упакует файлы из:
Код

/META-INF/resources/
/resources/
/static/
/public/

в статические ресурсы и сам же будет их отдавать, писать для этого контроллер - не нужно. 

Сам контроллер в примере отдает строку, а не страничку.

Спринг буту установленный томкат не нужен, он его сам запускает.

start.spring.io генерирует билд файл из которого можно запустить приложение: ./gradlew bootRun (это если есть подозрение, что IDE косячит).

Можно включить дебаг логи и посмотреть куда биндится контроллер
Код

./gradlew bootRun -Pargs=--logging.level.org.springframework=TRACE



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
korob2001
Дата 19.4.2023, 00:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: нет
Всего: 61



Привет LSD,
Цитата(LSD @  18.4.2023,  20:28 Найти цитируемый пост)
Сам контроллер в примере отдает строку, а не страничку.

Я понимаю, что метод контроллера (action) возвращает строку, в моём случае это имя файла home.html (view), но он упорно его не находит. При этом в STS работает, без проблем.

Просто не хочется в зависимости от типа проекта менять IDE. Типа, хотите я вам напишу чего-нить для консоли или десктопа? Мне нужно установить NetBeans, ой вам нужно MVC приложение, подождите я установлю STS.

Ещё одна причина, почему я думаю, что с папкой src/main/resources что-то не так. На ней восклицательный знак, если навожу на него курсор, всплывает окошко, прикрепляю скрин.
Написано, что Директория с ресурсами определена в POM. Может это из-за того, что включены: Filtering: true и в списке нет файлов типа **/application*.html?

Сейчас поищу,  может можно как-то эту фильтрацию отключить.

Это сообщение отредактировал(а) korob2001 - 19.4.2023, 00:05

Присоединённый файл ( Кол-во скачиваний: 1 )
Присоединённый файл  resources.png 15,81 Kb


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
korob2001
Дата 20.4.2023, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: нет
Всего: 61



В общем ничего я так и не нашёл, переехал в STS пока. Как-то не воодушевляет меня когда создаю файл в папке resources, а он появляется в /META-INF, хорошо хоть не в system32  smile
Теперь хоть дальше могу двигаться, а то застрял на половине книги.


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
LSD
Дата 21.4.2023, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15709
Регистрация: 24.3.2004

Репутация: 15
Всего: 537



Как я писал надо попробовать запустить из консоли через грейдл. Если запустится - надо разбираться с run конфигурацией NetBeans. Если и из консоли не будет работать, то проблема уже серьезнее, т.к. сгенерированный проект должен работать и значит что-то не так с окружением запуска.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java tools & IDE's | Следующая тема »


 




[ Время генерации скрипта: 0.1125 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.