Хорошо, это длинно и имеет много глупых вопросов, потому что я тупой новичок.
Я один разработчик, работающий над проектом (Java Web App), и я относительно новичок в Java. Я еще новичок в Spring framework. Мне удалось написать небольшой проект, который использует один сервлет и несколько jsp для аутентификации пользователей в базе данных и перенаправляет их либо на страницу приветствия, либо на страницу ошибок на основе учетных данных для входа. Я добрался до этого момента, но это, конечно, только начало того, что будет делать это приложение. Самое главное, я не использую Spring.
Я понимаю, что в моих интересах изучить структуру Spring, если я буду разрабатывать корпоративные приложения Java EE, потому что это упрощает многие вещи. Итак, в этом квесте я направился к учебникам на этом сайте:
http://spring.io/guides/gs/serving-web-content/ а>
чтобы немного поучиться. Я быстро понял, что все их примеры включают сценарии Maven или Gradle для зависимостей и сборки. Итак, я подумал: о нет, теперь мне нужно узнать об одном из этих инструментов сборки, если мне нужно использовать среду Spring? Итак, с моими ограниченными знаниями и чтением, я выбрал Gradle, когда начал понимать, что это инструмент сборки последнего поколения в линейке Ant-> Maven-> Gradle. Итак, я подумал, что Gradle — это то, во что я должен инвестировать свое время.
В любом случае, когда я начал работать над учебником по Spring выше, я быстро понял, что они делают это в командной строке, а не в IDE. Это смутило меня еще больше, потому что я подумал, зачем кому-то использовать командную строку в современном мире, полном многофункциональных IDE. У меня уже был установлен Eclipse (обычная ваниль + Spring Tool Suite), поэтому я подумал, что вместо этого сделаю это на Eclipse. Вот где мое замешательство взлетело до небес.
Во-первых, я не мог понять, с какого шаблона проекта начать. Должен ли это быть «Динамический веб-проект»? Нет, подождите, это должен быть какой-то шаблон Spring, верно? В противном случае, зачем мне утруждать себя добавлением Spring Tool Suite и получением всех этих новых шаблонов? Итак, я выбрал шаблон Spring. Я быстро понял, что у меня также есть возможность импортировать учебник Spring MVC, который я делал, в Eclipse. Итак, я сделал это. Еще больше путаницы, теперь я понял, что если я щелкну правой кнопкой мыши импортированный пример проекта, в меню «Запуск от имени» больше не будет параметра «Запустить на сервере». Я подумал, почему это пропало? Я, должно быть, выбрал неправильный шаблон проекта. Но подождите, я не мог выбрать неправильный шаблон, потому что я импортировал весь проект с веб-сайта Spring. О, чувак, у меня болит голова. Немного подумав, я вспомнил... о, да, они говорили о Gradle, и я уже скачал его и установил для него переменную среды Path, поэтому я буду использовать Gradle для сборки и запуска этого проекта. Итак, как мне вызвать Gradle из Elipse? Дальнейшее чтение сказало мне, что у меня должна быть интеграция с Eclipse Gradle. Поэтому я загрузил этот плагин в eclipse. Теперь в меню правой кнопки мыши у меня есть опции «Gradle» и «Gradle...», но до сих пор нет «Запустить на сервере». Чувак, почему это так сложно? Я новичок, просто пытаюсь запустить учебный проект Spring MVC. Во всяком случае, я выбрал «Gradle» из опции «запустить от имени» и увидел, что Gradle выводит кучу вещей в консоль Eclipse, например, при запуске контейнера встроенного сервлета и других хороших вещей. Но я не вижу ничего другого. Я ожидал, что встроенный веб-браузер Eclipse покажет мне «Hello world». Но подождите, это не веб-проект, потому что в его иерархии нет папки Web-Inf, так зачем мне видеть браузер... хорошо, но я также не вижу "hello world" в консоли? Где работает проект? Ахаха... наконец, я запустил свой собственный браузер Chrome и указал ему URL-адрес локального хоста, и, слава Богу, я увидел "hello world".
Мне потребовалось два с половиной дня игры, чтобы понять все до этого момента. Как видите, мое понимание этих вещей находится в зачаточном состоянии, и мне нужны ответы на некоторые вопросы. Если я хочу создать веб-приложение Java, и я единственный разработчик:
- Нужен ли мне инструмент для сборки? Я думал, что это для команд.
- Если да, то с Gradle все в порядке?
- С какого шаблона Eclipse начать?
- Некоторые другие учебные пособия по Spring MVC, которые я видел в Интернете, например, из tutorialspoint, включают jsp и основаны на Интернете (а не просто в командной строке). Эти учебные пособия просят вас в какой-то момент импортировать некоторые банки (Spring и связанные с ними банки, такие как журнал общих ресурсов) в проект. Откуда эти ребята узнают, какой из пружинных кувшинов им нужен? Это из опыта или есть другой источник этих знаний? Я думал, что это управление зависимостями - это то, где возникает вся потребность в инструменте сборки, и это то, что Gradle будет обрабатывать для меня, не говоря уже о том, что я еще не знаю, как попросить Gradle сделать это.
- Как только я запускаю проект и постепенно начинаю использовать Spring, как мне узнать, какие дополнительные jar-файлы мне нужны в определенные моменты?
Спасибо, что дочитали до этой строки, и спасибо за вашу помощь.