• ,

Онлайн-стажировка: зимний набор

Внимание!!! Кому на почту не пришло письмо с приглашением на онлайн-стажировку, или кто не может добавиться в Slack — напишите мне в личном сообщении

Внимание!!! Набор на зимнюю онлайн стажировку закончен.
Ориентировочно следующий набор начнется в феврале 2017 года.


Good News, Everyone!
С радостью сообщаем вам, что начался очередной набор на онлайн стажировку!

С сегодняшнего для набором на стажировку буду заниматься я (silent) вместо Fry.

У вас есть уникальная возможность получить опыт в работе с такими технологиями: Git, Spring, Spring MVC, Spring Security, Hibernate, JPA, Junit, JSP, JSTL, ORM, REST, Bootstrap, AJAX и jQuery.
Конечно, за 12 недель слишком глубоко все это не выучить, но, во-первых, вы сможете указать эти технологии в своем резюме, а во-вторых, очень вероятно, что за эти 12 недель вы узнаете о программировании больше, чем 5 лет универа. Выбор за вами.

Записывайтесь, только если сможете уделять обучению 6-8 часов в неделю. Отзывы предыдущих участников можно почитать тут.

Условия участия:
У вас есть подписка Internship, Mentor или Premium Project
Ваш уровень на JavaRush 30 или выше
Вы выполнили тестовое задание

Если ваш уровень ниже 30-го, но хотя бы 25+, вы можете попробовать дойти до 30-го уровня. Набор на онлайн-стажировку будет продолжаться до 25 ноября, так что месяц у вас есть.

Если у вас нет подписки Internship/Mentor, то, возможно, самое время ее купить или проапгрейтить, если у вас уже есть другая Premium-подписка.

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

Онлайн стажировка – это отличный способ получить практический опыт (за ваши деньги).

Где можно записаться:

Оставьте свои контактные данные в разделе «МОЯ СТРАНИЦА, Реальный проект». Так же вам надо прислать ссылку на выполненное тестовое задание.

Тестовое задание надо выполнить обязательно. Если вы не в состоянии справится с тестовым заданием, значит вам будет не по силам половина заданий онлайн-стажировки. Лучше порешайте задачи на JavaRush – они в разы проще.

Следующая стажировка планируется через 3 месяца – не справились с тестовым заданием в этот раз – значит справитесь в следующий. Лучше день потерять, потом за пять минут долететь.

Участвовать в онлайн-стажировке можно только один раз.

Сроки:
Стажировка длится 12 недель.
Набор открыт до 25 ноября, старт самой стажировки – 1 декабря.
После 25 ноября заявки приниматься не будут – будете ждать следующей стажировки (март 2017 года).

Как все будет происходить:
Вы будете писать достаточно большой проект и получите очень разносторонний опыт, который, что логично, поможет вам и при устройстве на работу и, уж тем более, в первый год работы.

Проект рассчитан на 12 недель (3 месяца). Каждую неделю вы будете изучать очередную технологию и добавлять очередной кусок функциональности к вашему проекту.

План обучения и список изучаемых технологий можно посмотреть здесь.

Формат занятий
В начале каждой недели вы будете получать видеозапись урока (длиной 2-3 часа!), на которой разбирается и объясняется очередная технология, а также дается задание на дом, которое вы должны сделать за неделю. Задания средней сложности. Если в первый день вы во всем разобрались, то сделайте его за 1-2 дня. Если сразу не поняли, то в неделю должны вложиться.

Правильное решение
Через неделю куратор стажировки выкладывает свое решение, и вы можете посмотреть/разобрать его, независимо от того, заработало у вас ваше решение или нет.
Это очень эффективный подход, т.к. разбирать решения опытных разработчиков может быть на порядок полезнее, чем сделать свое кое-как. Особенно, если вы только что днями ломали голову, ища способ все сделать хорошо, быстро и красиво.

Поддержка
В слаке будет создана отдельная группа, где вы и другие участники стажировки в режиме реального времени можете задавать вопросы и получать ответы от руководителя стажировки. Он может давать комментарии по изучаемой технологии, по своему решению и по своему коду. Но не по вашему коду :P

Процесс регистрации на стажировку
(Моя Страница -> Реальный проект) далее скачиваете задание.
Решаете, заполняете все формы, нажимаете Сохранить и потом Зарегистрироваться.

Указывайте правильный почтовый адрес
После проверки Вашего задания. Результат будет выслан Вам на почту, туда же и приглашение в слак.
Если будут вопросы по тестовому, задавайте в этом топике.

422 комментария

Lenchik854
А у тех, кто не успеет до 30 уровня дойти или не получится выполнить тестовое, но подписка заканчивается в этом году, будет возможность попасть на следующую стажировку? Или новую подписку нужно будет покупать?
Dr-JohnZoidberg
когда покупали подписку?
Lenchik854
Это как раз и есть бывшая безлимитная. :(( Понимаю, что сама своё время упустила. Сейчас стараюсь успеть к этой стажировке. На всякий случай интересуюсь по следующей. Судя по уточняющему вопросу, уже поняла ответ: покупать новую!
Dr-JohnZoidberg
Подписки, приобретенные до 1 ноября 2015 года остаются без изменений. Продление таких подписок было переведено в ручной режим. Чтобы продлить действие своей подписки, по окончанию срока ее действия напишите письмо на почту support@javarush.ru с указанием темы «Продление подписки», а в теле письма укажите имя своего аккаунта на JavaRush.

ВНИМАНИЕ!

Владельцы «бессрочных» подписок, включающих Стажировку и купленных до 01 ноября 2015, могут принять участие в Стажировке только до 1 декабря 2016. После этого такая возможность будет заблокирована.
Lenchik854
  • Lenchik854
  • 0
  • Комментарий отредактирован 2016-10-24 17:58:38 пользователем Lenchik854
Т.е., как я поняла, оставшиеся задачи дорешать смогу после письма на саппорт, а стажировка только эта. Или апгрейд.
Dr-JohnZoidberg
задачи после письма.
стажировку за апгрейд.
angelrum
Если у меня сейчас Premium Unlimited, то проапгрейдить подписку, что бы попасть на стажировку я смогу только до 1го декабря или после у меня будет такая возможность?
Dr-JohnZoidberg
после апгрейда, по достижению 30 уровня у вас будет год для прохождения стажировки
Yuri_0504
Количество мест ограничено? Или любой решивший тестовое задание может участвовать?
Dr-JohnZoidberg
неограниченно.
Yuri_0504
У меня подписка Premium Project — я могу до 01.12.2016 участвовать в стажировке. Мне не нужны апгрейды — я правильно понимаю?
Dr-JohnZoidberg
На эту стажировку вы попадаете.
Дальше уже нет.
Yuri_0504
Записаться на стажировку можно в течение 12 месяцев с момента достижения 30 уровня.
А если я еще не дошел до 30-го уровня, но до 01.12.16 дойду, то на мою подписку это не распространяется?
Dr-JohnZoidberg
Подписки, приобретенные до 1 ноября 2015 года остаются без изменений. Продление таких подписок было переведено в ручной режим. Чтобы продлить действие своей подписки, по окончанию срока ее действия напишите письмо на почту support@javarush.ru с указанием темы «Продление подписки», а в теле письма укажите имя своего аккаунта на JavaRush.

ВНИМАНИЕ!

Владельцы «бессрочных» подписок, включающих Стажировку и купленных до 01 ноября 2015, могут принять участие в Стажировке только до 1 декабря 2016. После этого такая возможность будет заблокирована.
HOS
  • HOS
  • +1
День добрый!
Уточните, пожалуйста, на решение тестового задания сколько времени дается?
И сколько времени нужно на проверку?
Т.е. меня интересует, когда, самое позднее можно начать делать тестовое задание?
silent
  • silent
  • 0
  • Комментарий отредактирован 2016-10-25 11:08:26 пользователем silent
Самое позднее, ссылку на решение можно заполнить в панели «Реальный проект» 25 ноября 2016 года до 12:00.
Когда начинать — решать Вам
HOS
Т.е. я могу начать решать тестовое задание сегодня, а закончить до 25 ноября 2016 года до 12:00?
Dr-JohnZoidberg
Набор на онлайн-стажировку будет продолжаться до 25 ноября, так что месяц у вас есть.


Желательно не откладывать все на последний день.
Возможно, вам нужно будет вносить правки в решение и отправлять на проверку...


25 число до обеда. И у вас не будет времени сделать правки и тд тп. Потому лучше присылайте заранее.
HOS
Ага, значит нужно отправлять на проверку, чтобы оставалось в запасе пару дней до крайнего срока, чтобы можно было что-то переделать(исправить ошибки), правильно я понимаю?
Dr-JohnZoidberg
Да.
HOS
Спасибо!
Cabron
А можно где-то посмотреть тестовые задания с предыдущих стажировок? Я, хоть и до 30 не дошел(в силу финансовых причин), все же хотел бы попробовать свои силы. Хотелось бы глянуть, если с заданиями все не так страшно, то надо бы и деньги на подписку искать
d0wn
  • d0wn
  • 0
Подскажите, правильно я понял, что мне нужно перед непосредственным кодингом установить в идею и заставить ее видеть следующие компоняги:
— мавен
— спринг
— хибернейт
— томкет
— mysql
— frontend

?
AlexeyI
Подскажите, какая подписка должна быть чтобы попасть на стажировку? И когда будет акция на подписку? И какая?
Dr-JohnZoidberg
Условия участия:
У вас есть подписка Internship, Mentor или Premium Project
Ваш уровень на JavaRush 30 или выше
Вы выполнили тестовое задание

Если ваш уровень ниже 30-го, но хотя бы 25+, вы можете попробовать дойти до 30-го уровня. Набор на онлайн-стажировку будет продолжаться до 25 ноября, так что месяц у вас есть.
silent
Maven нужно прописать в classpath.
Spring, Hibernate — после создания проекта подключить как зависимости.
Сервер MySQL — нужно установить. В проекте в зависимости подключить mysql-connector-java.
Для фронтенда нужно подключить в проект зависимость в зависимости от выбранного Вами фреймворка.
Tomcat — контейнер, в котором будет выполнятся Ваше веб-приложение. Нужно прописать в classpath CATALINA_HOME.

Подробнее — гуглите, и будет Вам счастье
Santegra
Вопрос тот же. Получил тестовое задание, но не знаю как к нему подступиться. Знающие люди, подскажите пожалуйста.
silent
Добрый день. В этой ветке куча моих ответов. Вот один из них:
Начните с того, что прочитайте что такое Maven и зачем он нужен.
Аналогично Tomcat.
Почитайте для чего используется фреймворк Spring.
Пройдите простейшие туториалы spring.io/guides
Напишите простейшее приложение Hello World с использованием Spring. Как пример можете использовать www.mkyong.com/spring3/spring-3-hello-world-example/
Напишите Hello World с UI, пример: www.mkyong.com/spring-mvc/spring-mvc-hello-world-example/
Почитайте туториалы по SQL, и в частности, MySQL.
Почитайте про Hibernate.

На этом этапе Вы уже вполне понимаете как делать тестовое задание.
Задавайте конкретные вопросы, если что-то не получается.
п.с. Старайтесь использовать новые версии фреймворков и либ. Их можно брать из центрального Maven репозитория: search.maven.org/
Santegra
Спасибо. Наверное меня смутила фраза, что на задание дается две недели, а его можно сделать за день. Увидев стек технологий, я понял, что в день не уложусь ни при каких условиях.

P.S. Прочитал первые двадцать постов в ветке, и бросил читать (т.к. ничего полезного), возможно поэтому и не увидел Ваших ответов.
Santegra
Поправьте пожалуйста в ТЗ ссылку на список литературы.
silent
Знаем об этой проблеме. Исправим при следующем обновлении сервера
Santegra
Не затягивайте пожалуйста, данная проблема решается достаточно быстро.
alex8894
Найдите вот эту книгу: Spring 4 для профессионалов (она на русском языке), скачайте с сайта издательства исходный код примеров и разбирайте главу за главой. AOP пока можно пропустить, Security тоже не понадобится. За небольшим исключением (например, подключение к SQL-серверу), тестовое задание можно реализовать на основе только этой книги и примеров к ней.
Santegra
Спасибо огромное за рекомендацию.
d0wn
  • d0wn
  • 0
и очень субъектиный вопрос — все это хозяйство лучше делать под виндой или под никсами? вопрос не где лучше, а где оптимальнее
я опытный юзер никсов, возможно, очень подозреваю, что в консоли у меня быстрее дело пойдет.
silent
На девелоперской машине должен стоять такой софт, с которым удобно девелоперу
prodigy
Вопрос немного не по теме… Когда разработчик устроился на работу, ему навязывают использование какой-то конкретной IDE или можно использовать что хочешь?
silent
Зависит от компании, однозначного ответа нет
z_ildar
ну если будучи новичком, поставить эклипс, то этим ты создашь гемор себе и остальным разрабам, тк надо будет среду подстраивать под фреймворк фирмы, если таковой имеется, также могут возникнуть проблемы с SVN

ну это только мое мнение, тк сам устроился недавно и опыта нет)
imp
  • imp
  • 0
сначала надо взять 30, потом подавать заявку?
Dr-JohnZoidberg
да
RedRain
  • RedRain
  • 0
  • Комментарий отредактирован 2016-10-25 16:11:59 пользователем RedRain
Доброго времени суток.
Специально зарегистрировался, потому что не могу удержаться не задать вопрос.
На сайте представлены несколько видов подписок, в некоторые из них включен пункт «Онлайн-стажировка». И, казалось бы, по логике вещей, это должно подразумевать, что после прохождения обучения предполагается некая стажировка.
И оно вроде бы как, все совпадает, нужно сначала пройти обучение хотя бы по 30 уровень, а дальше по идеи должен (-а) попасть на стажировку (что является, по моему мнению, нормальной практикой на других обучающих ресурсах).
Но вот здесь начинается самое интересное, оказывается то, чтобы попасть на стажировку нужно выполнить еще тестовое задание, т.е. изначально заплаченных денежных средств за подписку, которая предусматривает участие в стажировке, этого не достаточно?
Хорошо, двигаемся дальше, деньги заплачены за подписку, включающую стажировку, 30 уровней позади, а тестовое задание успешно не выполнено, и что теперь? Извините, но поезд ушел? Приходите «завтра»? Если я правильно понимаю то, да, с этой стажировкой «пролетаешь», НО у тебя появляется уникальный шанс попытаться не пролететь со следующей.
Но и здесь возникает вопрос, а если к следующей стажировке купленная подписка уже закончится? То, что снова пролет? Снова плати? И не факт что снова не пролетишь?
Да, и на самой стажировке обучение проходит в такой же манере: «Подробнее — гуглите, и будет Вам счастье»?
Может быть сумбурно написано… но хотелось бы получить комментарии представителей этого коммерческого проекта.
Dr-JohnZoidberg
  • Dr-JohnZoidberg
  • 0
  • Комментарий отредактирован 2016-10-25 17:03:17 пользователем Dr-JohnZoidberg
Но вот здесь начинается самое интересное, оказывается то, чтобы попасть на стажировку нужно выполнить еще тестовое задание, т.е. изначально заплаченных денежных средств за подписку, которая предусматривает участие в стажировке, этого не достаточно?
Тестовое задание дается, чтобы вы смогли оценить свои силы/знания для прохождения стажировки.
Если за 2-3 недели не смогли справиться с заданием, стажировку вы не потяните.
Задание простое, его можно выполнить за 1-2 дня. Там уровень сложности hello word.
Рекомендую проходить все 40 уровней, а только потом записываться на стажировку

Хорошо, двигаемся дальше, деньги заплачены за подписку, включающую стажировку, 30 уровней позади, а тестовое задание успешно не выполнено, и что теперь?
Читаем, что нужно исправить и присылаем на повторную проверку.
Ссылки и примеры будут прикреплены.
Но и здесь возникает вопрос, а если к следующей стажировке купленная подписка уже закончится?
Записаться на стажировку можно в течение 12 месяцев с момента достижения 30 уровня.
RedRain
  • RedRain
  • +1
  • Комментарий отредактирован 2016-10-25 17:25:40 пользователем RedRain
Тестовое задание дается, чтобы вы смогли оценить свои силы/знания для прохождения стажировки.
Если за 2-3 недели не смогли справиться с заданием, стажировку вы не потяните.
Опять таки сугубо личное мнение, но все таки каждый кто оплатил соответствующую подписку должен попадать на стажировку ибо теряется смысл оплаты ее и затем ждать следующего сезона из-за провального задания, которое «помогает» человеку оценить свои силы. Вот как раз сам интенсив самой стажировки и помогает оценить свои силы, навыки и умения.
Записаться на стажировку можно в течение 12 месяцев с момента достижения 30 уровня.
это при условии что подписка кончилась и не продлевалась? или все таки будьте любезны купить еще раз подписку?
и то после 12 месяцев? все the end?
imp
мб вместо того, чтобы писать ехидные комментарии взял бы и поучился?
все у кого было желание сделали тестовое задание и прошли стажировку
RedRain
Во-первых, свободу слова никто не отменял.
Во-вторых, я задаю вопросы, которые у меня появляются, как и у всех остальных.
В-третьих, не зная человека, Вы почему-то уже делаете какие-то свои некорректные выводы, учится он или, как по Вашему мнению, занимается ерундой, и при этом еще и позволяете тыкать…
Dr-JohnZoidberg
  • Dr-JohnZoidberg
  • +2
  • Комментарий отредактирован 2016-10-26 07:35:59 пользователем Dr-JohnZoidberg
Опять таки сугубо личное мнение, но все таки каждый кто оплатил соответствующую подписку должен попадать на стажировку ибо теряется смысл оплаты ее и затем ждать следующего сезона из-за провального задания, которое «помогает» человеку оценить свои силы. Вот как раз сам интенсив самой стажировки и помогает оценить свои силы, навыки и умения.
98% приславших задания, попадают на стажировку.
1% после подачи заявки пропадают и не принимают инвайт.
Вам нужен результат от стажировки или просто пройти?

это при условии что подписка кончилась и не продлевалась? или все таки будьте любезны купить еще раз подписку?
Про сроки действия подписки все написано на странице покупки.
Повторю:
• для прохождения курса есть 12 месяц с момента покупки.
• для прохождения стажировки есть 12 месяцев с момента достижения 30 уровня.
всего 24 месяца для прохождения курса + стажировка.
Без доплат и смс…

Если за два года, человек не смог попасть на стажировку и пройти ее, причем тут JR и команда?
RedRain
Вам нужен результат от стажировки или просто пройти?
Мне нужно было получить ответы на возникшие вопросы.
И выражаю Вам свою благодарность за предоставленную информацию.
А что касается именно прохождения стажировки, то для меня было бы важнее пройти ее, особенно, учитывая тот факт, что за участие в ней были заплачены деньги при выборе подписки:) Потому что прежде всего это опыт, какой бы он не был, ведь, как в некоторых статьях из лекций, было сказано нельзя научиться плавать — не плавая, и стать летчиком, прочитав инструкцию к самолету:)
всего 24 месяца для прохождения курса + стажировка.
Без доплат и смс…
не совсем корректно складывать эти два срока, потому что достижение 30 уровня в течение года действия подписки дает только шанс принять участие в стажировке в течение следующего года, но никак не продлевает подписку еще на один год.
Другими словами, если я правильно понял информацию на сайте и здесь:
-условно подписка действует в период 01.01.2016-31.12.2016. -26.10.2016 — человек достигает 30 уровень и у него есть шанс попасть на стажировку, сдает задание и все остальное что требуется по списку.
-31.12.2016 — в силу каких-нибудь причин человек к этой дате достигает только 34 уровень и, одновременно, проходит стажировку.
-01.01.2017 — подписка кончилась, дальнейшее прохождение курса получается, что невозможно, нужно продлевать подписку. Но можно продолжать проходить стажировку.
Либо попытаться принять участие в следующей стажировке в течение 26.10.2016-26.11.2017, если не получилось попасть на текущий поток, а сам курс так и останется на 34 уровне, если не продлевать подписку.
Надеюсь, я правильно понял схему:)
Если за два года, человек не смог попасть на стажировку и пройти ее, причем тут JR и команда?
Претензий никаких нет, по крайней мере, у меня точно, я всего лишь хотел понять что к чему.
Вы мне разъяснили те непонятные для меня моменты, за что еще раз спасибо.
На этом предлагаю закончить с этим:)
HOS
Если порыться на форумах, то можно найти информацию, что в некоторых случаях они продлевают подписку. Т.е. из описанного вами примера выше, вы сможете еще в следующем году закончить уровни с 34 по 40-й. Для этого вам нужно будет после окончания подписки направить к ним письмо с вашей историей и просьбой продлить подписку для завершения последних уровней. В виде исключения вам скорее всего продлят подписку. Но не до бесконечности. Они эту возможность не особо афишируют, поэтому прямо и не отвечают. Может быть в какой-то момент у них измениться политика компании и прикроют эту возможность.
afacenomore
Записаться на стажировку можно в течение 12 месяцев с момента достижения 30 уровня.
Тоесть если я подписался на год в марте, а 30 уровень получил буквально неделю назад, то у меня есть еще возможность попасть на стажировку до следующей осени? Хотя подписку у меня заканчивается следующей весной?
Потому что все думаю, что лучше сейчас, тратить время на написание заданий с основной программы или все-таки пройти сейчас стажировку (времени особо нету конечно, но кого это интересует :)), начал разбираться, то действительно есть множество даже видеоуроков, пока не добрался только к томкету и фронтенду и еще не определился что же все-таки лучше в хибернейте аннотации или хмл, и все-таки склоняюсь к хмл, так как понятнее. Но то уже мысли в слух.
sergiovanovi
Доброго времени суток!
Подскажите, есть подписка Unlimited, если улучшу до Unlimited Plus, то будет ли возможность пройти онлайн-стажировку? Или все-таки необходимо улучшить до Internship?
Dr-JohnZoidberg
Для стажировки нужны подспики:
• Internship
• Internship plus
• Mentor plus

Unlimited Plu не дает возможность участвовать в стажировке
z_ildar
вопрос
сейчас я на испытательном сроке, времени на JR вообще нет, тестовое задание для стажировки я сделал, подписку приобрел 12 декабря 2015 года, до 30 уровня дошел в июле, могу я пройти онлайн стажировку весною? где-то читал что стажировку можно будет пройти в течение года после того как дойдешь до 30 уровня
Dr-JohnZoidberg
Для прохождения стажировки есть 12 месяцев с момента достижения 30 уровня.

Напишите в личку silent, чтобы вычеркнул вас из списка на зимнею стажировку!
info.javarush.ru/profile/silent/
_leo_
  • _leo_
  • 0
  • Комментарий отредактирован 2016-10-25 22:29:11 пользователем _leo_
Добрый вечер! Ребята, хочу сделать crud приложение по видеоуроку («Пример создания простого CRUD приложения на языке Java с использованием технологий Spring и Hibernate»). У меня структура пакетов совсем не такая как в уроке. В idea при создании проекта выбираю Spring — Spring MVC. Пробовал ещё на основе архетипа maven-quickstart и maven-webapp — результат тот же. Если кто-нибудь делал по этому уроку, то как решали проблему? Неужели вручную надо создавать нужную структуру? Как правильно?

Intellij IDEA 2016.2.5

И ещё вопрос. Как вы подключаете зависимости? То есть я прописал их в pom и всё? А как версии выбираете?
silent
Данный видеоурок не смотрел. Способов создать проект есть много, и каждый из них будет рабочим.
Зависимости подключаются прописыванием в pom.xml проекта нужных депенденси. Их можно искать тут: search.maven.org/ (центральный репозиторий Maven).

К примеру, если Вы захотите подключить spring-core, то Вам нужно в pom.xml вставить зависимость, скопированную с центрального Maven репозитория:
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>4.3.3.RELEASE</version>
</dependency>
_leo_
Спасибо! А правильно ли переделывать структуру проектов вручную если шаблон не соответствует?
silent
Leo, смотря какие пакеты Вы собираетесь переименовывать или перемещать.
К примеру, если это сорцы — то они должны лежать в ProjectName/src/main/java/…
Если это тесты — ProjectName/src/test/java/…

Конвенция именования важна для работы Maven
maven.apache.org/guides/getting-started/index.html
_leo_
Спасибо!
Einstein
Как вы добавили Hibernate, logging, dbcp?
CruelIks
Добрый день! Подскажите, у меня сейчас подписка Unlimited. До какой подписки мне нужно улучшить — Unlimited plus or Internship? Можно ли попробовать решить тестовое задание без улучшения подписки?
Dr-JohnZoidberg
Internship
CruelIks
А по второму вопросу?
Dr-JohnZoidberg
нет.
Einstein
С чего начать???
silent
  • silent
  • +6
  • Комментарий отредактирован 2016-11-17 14:36:09 пользователем silent
Начните с того, что прочитайте что такое Maven и зачем он нужен.
Аналогично Tomcat.
Почитайте для чего используется фреймворк Spring.
Пройдите простейшие туториалы spring.io/guides
Напишите простейшее приложение Hello World с использованием Spring. Как пример можете использовать www.mkyong.com/spring3/spring-3-hello-world-example/
Напишите Hello World с UI, пример: www.mkyong.com/spring-mvc/spring-mvc-hello-world-example/
Почитайте туториалы по SQL, и в частности, MySQL.
Почитайте про Hibernate.

На этом этапе Вы уже вполне понимаете как делать тестовое задание.
Задавайте конкретные вопросы, если что-то не получается.
п.с. Старайтесь использовать новые версии фреймворков и либ. Их можно брать из центрального Maven репозитория: search.maven.org/
nci
silent, спасибо.
Прошел всей последовательности, в голове прояснился порядок.
Вопрос по Frontend, лучше сразу проект с angular ом делать или потом на финальном этапе прикрутить?
silent
  • silent
  • 0
  • Комментарий отредактирован 2016-10-31 09:53:44 пользователем silent
Лично я с Angular не работаю. Если бы я писал такое приложение — я бы конфигурировал Spring-MVC после контроллера.
Скорее всего все UI подобны в этом вопросе.
nci
Собственно да, зацепился я за ангуляр. Боюсь не потяну без зарывания в книги-туториалы, а это может растянуться. По Spring-MVC много примеров. Бери да делай.
Спасибо.
kaiv
  • kaiv
  • 0
  • Комментарий отредактирован 2016-10-27 16:51:02 пользователем kaiv
А какой процент учеников проходит стажеровку успешно?
freakvulgar
доброго времени суток всем! есть несколько вопросов:
1. сейчас подписка unlimited, заканчивается 21.12.2016, если сейчас ее обновить до Internship (чтобы попасть на стажировку) будут ли продлены сроки самой подписки?
2. можно ли оплатить обновение подписки «в валюте» картой payoneer (без лишней конвертации и т.д.)?
3. сейчас уровень 30, но осталось несколько заданий с предыдущих уровней, нужно ли закончить все задания до 30-го, чтобы просить тестовое для стажировки?
Antonim
Собственно аналогичная ситуация, написал silent в личку и жду ответ.
_leo_
  • _leo_
  • +2
  • Комментарий отредактирован 2016-10-27 19:27:24 пользователем _leo_
freakvulgar, если у вас уровень 30, то тестовое задание можно уже скачать в профиле (Моя страница/Реальный проект по ссылке Скачать тестовое задание). Необязательно чтобы все задачи были решены.
По подпискам — у меня была приобретена Unlimited 26.03.2016. В профиле стоит Дата окончания 26.03.2017. Когда купил апгрейд до Intership (06.08.2016), то в профиле она появилась отдельной строкой с датой окончания 06.08.2017
freakvulgar
спасибо за информацию! осталось узнать по поводу оплаты в валюте картой payoneer) буду признателен, если у кого есть информация по этому поводу
_leo_
А какая у вас валюта счёта? И в какой собираетесь платить? Насколько я помню при оплате картой можно было выбрать валюту
freakvulgar
валюта USD
посмотрел, действительно можно выбрать валюту при оплате
спасибо, больше вопросов нет
Dr-JohnZoidberg
1. Нет. Апгрейд не изменяет срок действия подписки, а добавляет новые возможности.
2. Нет.
В paypal счет будет выставлен в $/
3. Нет
d0wn
  • d0wn
  • 0
4 дня ушло на то, чтобы прикрутить томкет к идее ))
теоретически, спринг прикрутился тоже, но я не знаю, как это проверить)
для таких же рукожопов как я alfasin.com/2013/07/27/setting-up-spring-web-project-on-intellij-using-maven/
nci
  • nci
  • 0
  • Комментарий отредактирован 2016-10-28 13:03:41 пользователем nci
Эм, спаасибо за наводку, я думал томкат позже подключить(тоже можно), но сейчас прикрутил. По ссылке — создание проекта maven web-app для эклипса, добавление томката кнопка "+" (в меню Run/Debug configurations, рядом с зеленым треугольником play)
У меня 4 дня ушло на установку Apach-a, MySQL и создание тестовой базы. Так торможу… Капец
PodKrepkimCh
Блин, а у меня там нету томката.
Naissur
А я и Tomcat прикручивал, и с Maven разобрался, и по Spring много чего осознал, и MySQL поставил и даже базу создавал своими руками. И Hello World писал, деплоил его на Tomcat'е и любовался результатом. А как всё это вместе объединить и сделать этот долбаный работающий crud — хрен пойму. Причем я это делал еще в мае, из-за этого энтузиазм поугас.
Yuri_0504
Мне помог вот этот парень и его два видео:
www.youtube.com/watch?v=VS8W-tEqIiw
nci
  • nci
  • 0
  • Комментарий отредактирован 2016-10-28 14:04:06 пользователем nci
Если делать по инструкции у меня в конце в браузере не Hello world появляется а: большая страница «If you're seeing this, you've successfully installed Tomcat. Congratulations!»
Что то не так?
d0wn
видимо, да, если не хелло ворлд. у меня вместо хелло долго выводил велком от томкета.
сколько всего версий томкета у вас в системе?
том кэт из зипа или через exe?
nci
Кошак один: apache-tomcat-8.5.6
Ставил по инструкции: it-channel.ru/2016/02/29/install-tomcat/
из zip
nci
Конечно не так.
Жованый крот…
Сам себе отвечу.
У меня томкат стоял в папке Program files… Папка с пробелом в имени!!!
Переставил — все завелось!
freakvulgar
// по поводу коммнетария выше ссылка
в итоге не получается обновиться (оплата в валюте) картой payoneer, если кому будет полезна информация
так что придется снимать и положить на местную карточку
Engrii
Попробуйте оплатить через PayPal.
freakvulgar
попробовал, все получилось, спасибо!
_leo_
  • _leo_
  • 0
  • Комментарий отредактирован 2016-10-30 16:30:40 пользователем _leo_
Добрый день. Постараюсь сформулировать вопрос, надеюсь кто-нибудь поймет)
Пытаюсь добавить на странице форму для добавления пользователя. Должна выглядеть примерно так:
ID: поле для заполнения
UserName: поле для заполнения
и т.д.
На странице эта форма не отображается. Не могу понять почему. И в адресе страницы пишет localhost:8080/users.form. Что за расширение form и почему оно появляется? Вобщем кто сталкивался помогите, подскажите куда копать)
_leo_
c users.form проблему решил), остался вопрос с отображением
_leo_
  • _leo_
  • 0
  • Комментарий отредактирован 2016-10-30 17:41:02 пользователем _leo_
Разобрался) но теперь при попытке добавить пользователя выдает:
HTTP Status 500 — Request processing failed; nested exception is
org.hibernate.exception.GenericJDBCException: could not execute statement
буду дальше копать)
silent
Дебаг в Tomcat:
www.youtube.com/watch?v=oeZzqOIBtms
Einstein
Как добавить Hibernate в Intellij?
_leo_
Прописать как зависимости в pom
Einstein
  • Einstein
  • 0
  • Комментарий отредактирован 2016-10-30 22:15:51 пользователем Einstein
Сделал. Но там показывает ошибку. Hibernate как установить на компьютер?
nci
idea — settings(Ctrl+alt+s) в поиске maven. На вкладке maven-a importing должна стоять галка import maven projects automaticaly. или правой мышки на pom.xml — maven — reimport
_leo_
какую ошибку показывает?
Einstein
Dependency «org.hibernite....» not found.
silent
<dependency>
	<groupId>org.hibernate</groupId>
	<artifactId>hibernate-core</artifactId>
	<version>${hibernate.version}</version>
</dependency>
Einstein
Так написано. Но красным
silent
В pom.xml есть в блоке properties определение версии
<hibernate.version>5.2.4.Final</hibernate.version>
?

В Идее в терминале запускали
mvn dependency:sources
?
Einstein
Версия написана. Что это терминал?
silent
В IDEA комбинация Alt + F12
Einstein
  • Einstein
  • 0
  • Комментарий отредактирован 2016-10-31 21:05:49 пользователем Einstein
Ошибка.
<code>[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[FATAL] Non-parseable POM .....(путь к файлу) </code>
Einstein
Структура проекта правильно?
.idea
lib
src
target
iml файл
pom.xml
Einstein
Внутри liba hibernate-core
_leo_
Еще вместо ${hibernate.version} попробуй прописать конкретную версию
Einstein
Не получилось
_leo_
А у меня hibernate в External Libraries. Опиши как создаешь проект
Einstein
Как в External добавить?
_leo_
по идее когда подключаешь зависимости в pom то они загружаются в external libraries
Einstein
Спасибо всем. Решил проблему
_leo_
Напиши как решил
Einstein
Просто удалил и заново создал
NikitaChernetsov
Господа, а подскажите, что имеется в виду под «пейджингом»?
silent
Отображение результатов постранично. К примеру, если в БД есть 35 юзеров, то выводить их можно по 10 на страницу. В итоге должно быть 4 страницы.
NikitaChernetsov
Понятно, спасибо.
driver
В тестовом задании, как я понял, необходимо создать war-ку, которую при проверке задеплоят на tomcat. А решение со Spring Boot не подойдет?
silent
При проверке я смотрю сорцы и запускаю проект из IDEA в Tomcat. Упаковка в war или jar не нужна.
Решение с Spring Boot подойдет.
nci
  • nci
  • 0
  • Комментарий отредактирован 2016-11-01 16:19:21 пользователем nci
Сломал сегодня всю голову, почему не работает index.jsp
Самое начало формы добавления user-a.

Ошибка такая (привожу кусками, весь код многовато...) выдает томкэт:
<code>HTTP Status 500 - An exception occurred processing JSP page /index.jsp at line 69
...
org.apache.jasper.JasperException: An exception occurred processing JSP page /index.jsp at line 69

66: 
67:   <c:url var="addAction" value="index.jsp" />
68: 
69:   <form:form action="${addAction}" commandName="people">
70:     <table>
71:       <c:if test="${!empty people.name}">
72:         <tr>

Stacktrace:
	...
root cause
java.lang.IllegalStateException: No WebApplicationContext found: not in a DispatcherServlet request and no ContextLoaderListener registered?
...
</code>
_leo_
попробуй убрать строку 67, а строку 69 напиши так:
<form:form action=«index.jsp» commandName=«people»>
_leo_
А вообще в 67 строке вроде как должна быть ссылка не на jsp, а на метод контроллера помеченный аннотацией RequestMapping.
То есть примерно так:
<c:url var=«addAction» value="/users/add"/>
а в контроллере перед методом add:
@RequestMapping(value = "/users/add")
Примерно вроде так, но не уверен, поправьте если ошибаюсь
nci
Исправил:
модель:
@RequestMapping(value = "index/add", method = RequestMethod.POST)
    public String createPeople(@ModelAttribute("people") People people){
        if(people.getId()==0) this.peopleService.createPeople(people);
        else this.peopleService.updatePeople(people);
        return "redirect:/index";
    }

в index.jsp
67  <c:url var="addAction" value="index/add" />
68
69  <form:form action="${addAction}" commandName="people">

и всеравно та же ошибка в 69 строке
_leo_
а пробовал убирать тег
<c:url var=«addAction» value=«index/add» />?
и так: <form:form action=«index/add» commandName=«people»>
если нет то попробуй и отпишись о результате
nci
  • nci
  • 0
  • Комментарий отредактирован 2016-11-01 18:24:01 пользователем nci
изменял — не помогло.
тут по ходу в чем то другом косяк.
Это так первое что было в файле.
закоментил эту форму целиком, оставил только вывод строк базы — так ничего не вывело, хоть база не пустая.
_leo_
Добрый день. Есть вопрос. В классе User (модель) пытаюсь связать переменные с полями таблицы. Пишу так:
@Column(name = «NAME»)
private String name;
Слово NAME подчеркнуто красным. Это касается всех переменных. И перед классом пишу так:
@Entity
@Table(name = «user»)
public class User {}
user тоже красным подчеркивает. Таблица создана в MySQL Workench, название таблицы и полей прописаны правильно. Что может быть?
nci
  • nci
  • 0
  • Комментарий отредактирован 2016-11-01 16:50:14 пользователем nci
import javax.persistence.*;
??
в pom прописал dependency для javax ??

Кавычки это явараш тебе подправил или сам такие писал?
@Column(name = "name")
_leo_
  • _leo_
  • 0
  • Комментарий отредактирован 2016-11-01 16:53:19 пользователем _leo_
Вот что прописано:

<dependency>
      <groupId>javax.persistence</groupId>
      <artifactId>persistence-api</artifactId>
      <version>1.0</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>


Вообще дома на компе всё ок, а на рабочем открыл и тут на тебе
nci
не понял что это если честно
_leo_
dependency для javax.persistence)
_leo_
сам написал
nci
  • nci
  • 0
  • Комментарий отредактирован 2016-11-01 17:08:43 пользователем nci
у меня такого в pom нету и работает, что то мне подсказывает что ваша depencity для jar актуально.
сам написал
кавычки? Может еще и в коде так? ))
Что с остальным импорты?
_leo_
про кавычки только сейчас заметил)) в коде нормальные верхние)
Antonim
Небольшой «ликбез», возможно кому-то пригодится и поможет. Программирование начал изучать с нуля и ничего кроме JR и его лекций не видел. Т.к. подписка пока не Internship, а цель поставлена попасть на зимнюю стажировку (апгрейдить буду позже) я нагуглил тестовое задание. Умом понимал — все элементарно. Но Spring, Hibernate, Tomcat(с Томкатом применительно тестового задания проще, 2 раза мышкой щелкнуть) это темный лес. Я нагуглил готовое решение (по совету авторов JR — гугли, все что тебе нужно уже давно кем-то написано), которое люди сдавали и проходили на стажировку. Естественно, попытавшись разобраться как это работает, я понял, что мои знания == null. Но! Умом я понимал, что ок, я попаду, но что я буду делать на ней если ничего не знаю? Кто-то в коментах злится, я тоже поначалу злился, но потом понял, все правильно. И начал искать информацию. Отличный видеокурс по Spring и подключению Maven www.youtube.com/watch?v=M4w6b2pENWU&index=1&list=PLwwk4BHih4fho6gmaAwdHYZ6QQq0aE7Zi. Silent давал ссылки на туториалы по спрингу, вот переведенный сайт spring-projects.ru/guides/. В Spring'e, как собственно я понял и в Hibernate, «связка» происходит посредством аннотаций, а это xml и в частности пространство имен, чтобы использовать теги для определения бинов и, как выяснилось html и css. Отличный ресурс по изучению этого дела www.w3schools.com/xml/default.asp, англоязычный и там очень много чего крайне полезного. Ведь это веб-приложение, хоть и простое, поэтому понимать что это такое просто необходимо. В задании создать примитивную табличку с пейджингом, вот-вот, а как объявлять если в глаза впервые видишь. Я читал в комментариях, что у некоторых нет понимания даже как dependency в Мавене объявить. Для этой категории и написал, возможно это поможет.
Lenchik854
Большое спасибо за ресурсы.
DefNeo
А где там про пейджинг написано? Чего-то не нашел((
d0wn
  • d0wn
  • 0
  • Комментарий отредактирован 2016-11-02 10:32:25 пользователем d0wn
пришел за помощью)

не могу замепить таблицу
org.hibernate.hql.internal.ast.QuerySyntaxException: test is not mapped

что имею:

package testTask.model;

import javax.persistence.*;
import java.util.Date;

@Entity
@Table(name = "users")


public class User {
...


чего не делал — не создавал hibernate.cfg.xml, так как логин пароль диалект прописал в mvc-dispatcher-servlet.xml

<!--DB info-->
    <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource"
          destroy-method="close">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="url"
                  value="jdbc:mysql://localhost:3306/test"/>
        <property name="username" value="root"/>
        <property name="password" value="root"/>
    </bean>
d0wn
БД test (root:root) как по заданию
таблица users
Exidnus
QuerySyntaxException: скорее всего, проблема в синтаксисе запроса, а не настройке соединения.
silent
1. Ентити (класс User) должен implements Serializable.
2. Согласен с Exidnus — пересмотрите запрос HQL.
stackoverflow.com/questions/9954590/hibernate-error-querysyntaxexception-users-is-not-mapped-from-users
d0wn
Спасибо, коллеги, оба правы, ссылка помогла. И именно в квери и был косяк. Самое милое, что вчера я по ней уже ходил, но не вдуплил, так как разницу между типом и таблицей более-менее вдуплил сегодня по ссыле stackoverflow.com/questions/14446048/hibernate-table-not-mapped-error
d0wn
и снова я к вам с траблом, друзья)))
не могу получить данные из существующей и наполненной базы test

идею прикрутил к базе, она ее коннектит саксессфул и вываливает ее кишки и в table editor даже можно менять поля

при попытке проверить базу на предмет записей users.jsp думает что база пустая, либо методы не смогли в нее залезть…


users.jsp


<c:if test="${!empty listUsers}">

....


package testTask.controller;


    @RequestMapping(value = "users", method = RequestMethod.GET)
    public String listUsers(Model model) {
        model.addAttribute("user", new User());
        model.addAttribute("listUsers", this.userService.listUsers());

        return "users";
    }

	
...

package testTask.service;

    @Transactional
    public List<User> listUsers() {
        return this.userDao.listUser();
    }
}


...

package testTask.dao;

    private static final Logger logger = LoggerFactory.getLogger(UserDaoImpl.class);

    private SessionFactory sessionFactory;
	
.....

    public List<User> listUser() {
        Session session = this.sessionFactory.getCurrentSession();
        List<User> listUser = (List<User>) session.createQuery("from User").list();

        for ( User user : listUser)
            logger.info("User list : " + user);

        return listUser;
	}
d0wn
mvc-dispatcher-servlet.xml


    <!--UserDao and UserServices info-->

    <bean id="userDao" class="testTask.dao.UserDaoImpl">
        <property name="sessionFactory" ref="hibernate5AnnotatedSessionFactory"/>
    </bean>

    <bean id="userService" class="testTask.service.UserServiceImpl">
        <property name="userDao" ref="userDao"/>
    </bean>


    <tx:annotation-driven transaction-manager="transactionManager"/>

    <bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
        <property name="sessionFactory" ref="hibernate5AnnotatedSessionFactory"/>
    </bean>

    <mvc:default-servlet-handler/>

    <mvc:annotation-driven/>
d0wn
d0wn
выкинул из файла
mvc-dispatcher-servlet.xml 

строки

                <prop key="hibernate.connection.url">jdbc:mysql://localhost:3306/test</prop>
                <prop key="hibernate.connection.driver_class">com.mysql.jdbc.Driver</prop>


получил в консоль (впервые) хоть какую-то реакцию на переход по ссылам:
Hibernate: select user0_.id as id1_0_, user0_.isAdmin as isAdmin2_0_, user0_.age as age3_0_, user0_.createdDate as createdD4_0_, user0_.name as name5_0_ from user user0_
Andry
  • Andry
  • 0
  • Комментарий отредактирован 2016-11-02 19:43:08 пользователем Andry
ошибка возможно в классе User проверь все
@Column
KyMaHeK
попробуй в dao добавить логирование
d0wn
есть ссылка куда копать?
d0wn
  • d0wn
  • 0
  • Комментарий отредактирован 2016-11-03 14:22:04 пользователем d0wn
настроил лог (www.mkyong.com/hibernate/how-to-configure-log4j-in-hibernate-project/)

как ни странно, но хибернейт в базу таки лазит успешно и даже берет оттуда успешно.

но не печатается в браузере ничего. копаю дальше.
d0wn
14:04:38,781  INFO SimpleUrlHandlerMapping:354 - Mapped URL path [/**] onto handler 'org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler#0'
14:04:39,009  INFO RequestMappingHandlerMapping:543 - Mapped "{[/userdata/{id}]}" onto public java.lang.String test.controller.UserController.userData(int,org.springframework.ui.Model)
14:04:39,011  INFO RequestMappingHandlerMapping:543 - Mapped "{[/users],methods=[GET]}" onto public java.lang.String test.controller.UserController.listUsers(org.springframework.ui.Model)
14:04:39,011  INFO RequestMappingHandlerMapping:543 - Mapped "{[/users/add],methods=[POST]}" onto public java.lang.String test.controller.UserController.addUser(test.model.User)
14:04:39,012  INFO RequestMappingHandlerMapping:543 - Mapped "{[/delete/{id}]}" onto public java.lang.String test.controller.UserController.deleteUser(int)
14:04:39,013  INFO RequestMappingHandlerMapping:543 - Mapped "{[/edit/{id}]}" onto public java.lang.String test.controller.UserController.editUser(int,org.springframework.ui.Model)
14:04:39,161  INFO RequestMappingHandlerAdapter:534 - Looking for @ControllerAdvice: WebApplicationContext for namespace 'mvc-dispatcher-servlet': startup date [Thu Nov 03 14:04:34 MSK 2016]; root of context hierarchy
14:04:39,273  INFO RequestMappingHandlerAdapter:534 - Looking for @ControllerAdvice: WebApplicationContext for namespace 'mvc-dispatcher-servlet': startup date [Thu Nov 03 14:04:34 MSK 2016]; root of context hierarchy
14:04:39,514  INFO DispatcherServlet:508 - FrameworkServlet 'mvc-dispatcher': initialization completed in 5278 ms
[2016-11-03 02:04:40,073] Artifact test_task_v30:war: Artifact is deployed successfully
[2016-11-03 02:04:40,073] Artifact test_task_v30:war: Deploy took 19 142 milliseconds
[2016-11-03 02:04:40,088] Artifact test_task_v30:war exploded: Artifact is deployed successfully
[2016-11-03 02:04:40,088] Artifact test_task_v30:war exploded: Deploy took 19 156 milliseconds
14:05:13,237  INFO QueryTranslatorFactoryInitiator:47 - HHH000397: Using ASTQueryTranslatorFactory
14:05:13,527 TRACE BasicExtractor:61 - extracted value ([id1_0_] : [INTEGER]) - [3]
14:05:13,541 TRACE BasicExtractor:61 - extracted value ([isadmin2_0_] : [INTEGER]) - [1]
14:05:13,541 TRACE BasicExtractor:61 - extracted value ([age3_0_] : [INTEGER]) - [10]
14:05:13,541 TRACE BasicExtractor:61 - extracted value ([createdd4_0_] : [INTEGER]) - [2]
14:05:13,543 TRACE BasicExtractor:61 - extracted value ([name5_0_] : [VARCHAR]) - [Ivanov]
14:05:13,554  INFO UserDaoImpl:59 - User list : User{userId=3, userName='Ivanov', userAge=10, isUserAdmin=1, userCreatedDate=2}
d0wn
  • d0wn
  • 0
  • Комментарий отредактирован 2016-11-04 19:49:11 пользователем d0wn
nci
Ага ага знакомый пример… С книгами только… )))
Если MYSQL(оставить только статическое содержание) страница загружается, то чего то не так с бинами в mvc-dispatcher-servlet.xml или(и) в project Structure Idea. У меня такая же затыка. 2-ой день вишу.
KyMaHeK
У меня вроде все хорошо. Ссылочки работают, пользователи добавляются-удаляются-редактируются. А вот как решить проблемку с пейджингом???
silent
Как вариант, можете использовать jqGrid (клиент) и Spring Data Commons(сервер). Пример можно посмотреть в книжке Spring 4 для профессионалов — 16 раздел
KyMaHeK
2 часа возни — и какой-никакой, а пейджинг есть. Книгу посмотрю — может придется отрефакторить. Вопрос по поиску — это должно быть через ввод с клавиатуры? Или как сам решу?
silent
Поиск должен быть реализован через ввод строки с клавиатуры. Поиск должен быть реализован по одному или более полям.
DefNeo
Спасибо Вам))
d0wn
подскажите, а что за замута с class path?
единственный такой атрибут я нашел в project structure -> artifacts -> project-name: war
ну он как бы пустой и ничего не просит…
и нужно ли создавать манифест ????
может тут какая залипуха…

silent
Не понял вопроса «а что за замута с class path?»
Что нужно настроить — так это Run -> Edit Configurations… -> плюс слева -> Tomcat Server -> Local.
Внизу горит красное предупреждение что «Нет артифактов для деплоя». Справа есть кнопка Fix. Нужно нажать на нее и выбрать второй пункт (<название>:war exploded). Apply -> OK
d0wn
замута — всмысле иногда про этот параметр пишут или упоминают…
у меня томкэт и без него работает. Артифактов две штуки, все норм вроде.

Смоатрю на кусок дебага, который генерится при попытке сгенерить страницу с содержимым базы данных. Пока не очень понятно. Есть пара ошибок No property editor — сейчас погуглю…

15:22:02,055 DEBUG DispatcherServlet:865 - DispatcherServlet with name 'mvc-dispatcher' processing GET request for [/users.htm]
15:22:02,066 DEBUG RequestMappingHandlerMapping:310 - Looking up handler method for path /users.htm
15:22:02,084 DEBUG RequestMappingHandlerMapping:317 - Returning handler method [public java.lang.String test.controller.UserController.listUsers(org.springframework.ui.Model)]
15:22:02,085 DEBUG DefaultListableBeanFactory:251 - Returning cached instance of singleton bean 'userController'
15:22:02,087 DEBUG DispatcherServlet:951 - Last-Modified value for [/users.htm] is: -1
15:22:02,131 DEBUG DefaultListableBeanFactory:251 - Returning cached instance of singleton bean 'org.springframework.transaction.interceptor.TransactionInterceptor#0'
15:22:02,138 DEBUG AnnotationTransactionAttributeSource:108 - Adding transactional method 'UserServiceImpl.listUsers' with attribute: PROPAGATION_REQUIRED,ISOLATION_DEFAULT; ''
15:22:02,151 DEBUG DefaultListableBeanFactory:251 - Returning cached instance of singleton bean 'transactionManager'
15:22:02,165 DEBUG HibernateTransactionManager:367 - Creating new transaction with name [test.service.UserServiceImpl.listUsers]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT; ''
15:22:02,388 DEBUG HibernateTransactionManager:436 - Opened new Session [SessionImpl(PersistenceContext[entityKeys=[],collectionKeys=[]];ActionQueue[insertions=ExecutableList{size=0} updates=ExecutableList{size=0} deletions=ExecutableList{size=0} orphanRemovals=ExecutableList{size=0} collectionCreations=ExecutableList{size=0} collectionRemovals=ExecutableList{size=0} collectionUpdates=ExecutableList{size=0} collectionQueuedOps=ExecutableList{size=0} unresolvedInsertDependencies=null])] for Hibernate transaction
15:22:02,393 DEBUG HibernateTransactionManager:446 - Preparing JDBC Connection of Hibernate Session [SessionImpl(PersistenceContext[entityKeys=[],collectionKeys=[]];ActionQueue[insertions=ExecutableList{size=0} updates=ExecutableList{size=0} deletions=ExecutableList{size=0} orphanRemovals=ExecutableList{size=0} collectionCreations=ExecutableList{size=0} collectionRemovals=ExecutableList{size=0} collectionUpdates=ExecutableList{size=0} collectionQueuedOps=ExecutableList{size=0} unresolvedInsertDependencies=null])]
15:22:02,407 DEBUG HibernateTransactionManager:514 - Exposing Hibernate transaction as JDBC transaction [144758523, URL=jdbc:mysql://localhost:3306/test, UserName=root@localhost, MySQL Connector Java]
15:22:02,437  INFO QueryTranslatorFactoryInitiator:47 - HHH000397: Using ASTQueryTranslatorFactory
15:22:02,721 TRACE BasicExtractor:61 - extracted value ([id1_0_] : [INTEGER]) - [3]
15:22:02,733 TRACE BasicExtractor:61 - extracted value ([isadmin2_0_] : [INTEGER]) - [1]
15:22:02,734 TRACE BasicExtractor:61 - extracted value ([age3_0_] : [INTEGER]) - [10]
15:22:02,734 TRACE BasicExtractor:61 - extracted value ([createdd4_0_] : [INTEGER]) - [2]
15:22:02,736 TRACE BasicExtractor:61 - extracted value ([name5_0_] : [VARCHAR]) - [Ivanov]
15:22:02,748  INFO UserDaoImpl:59 - User list : User{userId=3, userName='Ivanov', userAge=10, isUserAdmin=1, userCreatedDate=2}
15:22:02,749 DEBUG HibernateTransactionManager:759 - Initiating transaction commit
15:22:02,750 DEBUG HibernateTransactionManager:578 - Committing Hibernate transaction on Session [SessionImpl(PersistenceContext[entityKeys=[EntityKey[test.model.User#3]],collectionKeys=[]];ActionQueue[insertions=ExecutableList{size=0} updates=ExecutableList{size=0} deletions=ExecutableList{size=0} orphanRemovals=ExecutableList{size=0} collectionCreations=ExecutableList{size=0} collectionRemovals=ExecutableList{size=0} collectionUpdates=ExecutableList{size=0} collectionQueuedOps=ExecutableList{size=0} unresolvedInsertDependencies=null])]
15:22:02,764 DEBUG HibernateTransactionManager:680 - Closing Hibernate Session [SessionImpl(PersistenceContext[entityKeys=[EntityKey[test.model.User#3]],collectionKeys=[]];ActionQueue[insertions=ExecutableList{size=0} updates=ExecutableList{size=0} deletions=ExecutableList{size=0} orphanRemovals=ExecutableList{size=0} collectionCreations=ExecutableList{size=0} collectionRemovals=ExecutableList{size=0} collectionUpdates=ExecutableList{size=0} collectionQueuedOps=ExecutableList{size=0} unresolvedInsertDependencies=null])] after transaction
15:22:02,895 DEBUG DefaultListableBeanFactory:1625 - Invoking afterPropertiesSet() on bean with name 'users'
15:22:02,895 DEBUG DefaultListableBeanFactory:251 - Returning cached instance of singleton bean 'org.springframework.transaction.config.internalTransactionAdvisor'
15:22:02,896 DEBUG DispatcherServlet:1251 - Rendering view [org.springframework.web.servlet.view.JstlView: name 'users'; URL [/WEB-INF/pages/users.jsp]] in DispatcherServlet with name 'mvc-dispatcher'
15:22:02,897 DEBUG JstlView:432 - Added model object 'user' of type [test.model.User] to request in view with name 'users'
15:22:02,897 DEBUG JstlView:432 - Added model object 'listUsers' of type [java.util.ArrayList] to request in view with name 'users'
15:22:02,897 DEBUG JstlView:432 - Added model object 'org.springframework.validation.BindingResult.user' of type [org.springframework.validation.BeanPropertyBindingResult] to request in view with name 'users'
15:22:02,906 DEBUG JstlView:166 - Forwarding to resource [/WEB-INF/pages/users.jsp] in InternalResourceView 'users'
15:22:03,950 DEBUG BeanUtils:450 - No property editor [java.lang.StringEditor] found for type java.lang.String according to 'Editor' suffix convention
15:22:03,958 DEBUG BeanUtils:450 - No property editor [intEditor] found for type int according to 'Editor' suffix convention
15:22:03,971 DEBUG DispatcherServlet:1000 - Successfully completed request
d0wn
  • d0wn
  • 0
  • Комментарий отредактирован 2016-11-03 16:49:17 пользователем d0wn
сдается мне, что засада в уровне html генерации. вот мой users.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
<%@ page session="false" %>
<html>
<head>
    <title>Users Page</title>

    <style type="text/css">
        .tg {
            border-collapse: collapse;
            border-spacing: 0;
            border-color: #ccc;
        }

        .tg td {
            font-family: Arial, sans-serif;
            font-size: 14px;
            padding: 10px 5px;
            border-style: solid;
            border-width: 1px;
            overflow: hidden;
            word-break: normal;
            border-color: #ccc;
            color: #333;
            background-color: #fff;
        }

        .tg th {
            font-family: Arial, sans-serif;
            font-size: 14px;
            font-weight: normal;
            padding: 10px 5px;
            border-style: solid;
            border-width: 1px;
            overflow: hidden;
            word-break: normal;
            border-color: #ccc;
            color: #333;
            background-color: #f0f0f0;
        }

        .tg .tg-4eph {
            background-color: #f9f9f9
        }
    </style>
</head>
<body>
<a href="../../index.jsp">Back to main menu</a>





<h1>User list</h1>
<b>${not empty listUsers}</b>


<c:if test="${not empty listUsers}">
    <table class="tg">
        <tr>
            <th width="100">ID</th>
            <th width="110">Name</th>
            <th width="120">Age</th>
            <th width="130">isAdmin</th>
            <th width="140">createdDate</th>
        </tr>
        <c:forEach items="${listUsers}" var="user">
            <tr>
                <td>${user.userId}</td>
                <td>${user.userName}</td>
                <td>${user.userAge}</td>
                <td>${user.isUserAdmin}</td>
                <td>${user.userCreatedDate}</td>
                <td><a href="<c:url value='/edit/${user.userId}'/>">">Edit</a></td>
                <td><a href="<c:url value='/remove/${user.userId}'/>">">Delete</a></td>
            </tr>
        </c:forEach>
    </table>
</c:if>




<h1>Add a user</h1>

<c:url var="addAction" value="/users/add.htm"/>

<form:form action="${addAction}" commandName="user">
    <table>
        <c:if test="${not empty user.userName}">
            <tr>
                <td>
                    <form:label path="userId">
                        <spring:message text="ID"/>
                    </form:label>
                </td>
                <td>
                    <form:input path="userId" readonly="true" size="8" disabled="true"/>
                    <form:hidden path="userId"/>
                </td>
            </tr>
        </c:if>
        <tr>
            <td>
                <form:label path="userName">
                    <spring:message text="Name"/>
                </form:label>
            </td>
            <td>
                <form:input path="userName"/>
            </td>
        </tr>
        <tr>
            <td>
                <form:label path="userAge">
                    <spring:message text="Age"/>
                </form:label>
            </td>
            <td>
                <form:input path="userAge"/>
            </td>
        </tr>
        <tr>
            <td>
                <form:label path="isUserAdmin">
                    <spring:message text="Admin"/>
                </form:label>
            </td>
            <td>
                <form:input path="isUserAdmin"/>
            </td>
        </tr>
        <tr>
            <td>
                <form:label path="userCreatedDate">
                    <spring:message text="Created date"/>
                </form:label>
            </td>
            <td>
                <form:input path="userCreatedDate"/>
            </td>
        </tr>
        <tr>
            <td colspan="2">
                <c:if test="${not empty user.userName}">
                    <input type="submit"
                           value="<spring:message text="Edit user"/>"/>
                </c:if>
                <c:if test="${empty user.userName}">
                    <input type="submit"
                           value="<spring:message text="Add user"/>"/>
                </c:if>
            </td>
        </tr>
    </table>
</form:form>
</body>
</html>
d0wn
prodigy
Можно сделать двумя отдельными проектами, или в одном?
silent
Если хотите — можете сделать мультимодульный проект.
Только лично я не совсем понимаю, по какому принципу делить проект собираетесь?
prodigy
Два задания: CRUD и TODO. Пока что нет понимания как в одном проекте всё сделать, проще каждое задание разнести по отдельному проекту.
silent
Нужно сделать только одно из этих двух заданий: либо CRUD Юзеров, либо TODO list.
prodigy
Круто! А я начал делать еще и TODO list.
prodigy
а как долго проверяется задание?
silent
Один-два дня после того, как Вы отправили задание на проверку в рабочие дни
freakvulgar
всем привет! хотел уточнить по поводу сроков, в задании написано (TestTask.docx), что на выполнении дается 2 недели, а сроки сдачи подачи заявки до 25-го ноября, у меня уже 4-5 дней пока на все ушло и за это время пока получилось разобраться с базой данных, подключить ее к проекту, настроить томкат, и разобрался с Hibernate, чтобы это все дело замапить в «orm persistence class (pojo)», медленно, но уверено, пока замапил через *.hbm.xml… сейчас начал разбор Spring и подхода к бинс, Аспектов и т.д… смотрел разные варианты выполнения, в частности здесь попадаются примеры, понял, что такое dao (Data Access Object) сначала интерфейс, потом имплементация, но если все так постепенно разбирать, боюсь, что не хватит времени и придется все же что-то да копировать…
и несколько вопросов:
0. как быть если времени на сдачу не хватает, для этого и продлевал подписку, чтобы попасть на зимнюю стажировку? копировать чужое решение: можно сдать задачу как есть, но свою…
1. если в data class User использовать только аннотации и в hibernate.cfg.xml маппинг осуществляется только по ним
<mapping class="User"/>
, Idea подсвечивает только сеттеры, а в результате маппинга с помощью User.hbm.xml подсвечиваются и геттеры в том числе, что пока непонятно… с одной стороны Аннотации более читаемые, с другой — конфиги в xml файлах как по мне достаточно удобно + xml можно освоить, и возможностей у такого подхода больше, если не ошибаюсь… что выбрать, как быть? :)
2. в документации написано, что hibernate.cfg.xml лучше хранить в корне проекта (classpath) у меня он сейчас в resources, как здесь лучше поступить? документацию читал на jboss
3. стараюсь все мелочи, которые понял и сделал, коммитить в git, в итоге пока толком говорить не о чем, но уже пейджинг в git работает хорошо)) пока только там) обращается ли на это внимание при проверке задания (коммиты)?
4. Tomcat должен быть в роли зависимости в pom.xml, или без него? так как у меня он был скачал в виде архива и подключен к Idea? (кстати, виндовый Tomcat содержит в себе все необходимое, чтобы его использовать с Ubuntu, так что у меня две системы ссылаются на одну папку
И где-то здесь видел вопрос, в какой системе (*nix, Windows) удобней, лучше, отвечу от себя:
делаю задание в Windows перезагружаюсь в Ubuntu и там могу либо склонить, проверить, либо просто запустить, кстати, Idea автоматически подхватывает сторонние библиотеки, если они расположены, например, на диске D:, а в Ubuntu это примонтированный том, просто разрешает относительные пути.
silent
2 недели — рекомендованный срок выполнения. Можете сдать до 25.11.16 до 12.
0. Зависит от того, что у Вас будет реализовано. А вообще — осталось 3 недели — за это время такой проект делается, даже если до этого Вы не знали что такое Spring, Hibernate, Maven и SQL.
1. Вопрос очень популярен, и однозначного ответа нет. Общее правило — в проекте нужно чтобы вся команда придерживалась единого стиля, а правильно и так и так.
2. Не принципиально. Но лично мне удобно, когда в корне проекта есть только pom.xml, .gitignore и README.md.
3. Нет. При проверке я скачиваю только актуальную версию с master. Но коммитить каждое принципиальное изменение — хорошая практика.
4. Tomcat не прописывается в pom.xml, а используется как сервлет-контейнер для проверки приложения. IDEA можно сконфигурировать, чтобы она запускала Tomcat.
freakvulgar
спасибо за быстрый ответ, вопросов на данный момент больше нет, остается разобраться с Spring и JSP, так как Maven, SQL, Hibernate и Git более менее уже понятны…
Einstein
Можете поделиться ресурсами?
freakvulgar
в интернете что-то читаю, по вопросам, которые интересуют, а если так смотреть и понимать, то пока более менее нормальный попался индус)
1 Hibernate ссылка на плейлист
2. Spring ссылка на плейлист
3. там же плейлисты по JSP Servlet, Spring AOP и Maven есть
4. Git читаю книгу официальную Pro Git, как раз очень понятно даже на английском, чтобы и это практиковать немного
5. SQL я толком не изучал, просто гуглил как настроить и правильно сделать запрос, в итоге все равно запросы делаются через HQL (если, например поиск по имени делать)
в тоге пока самое напряжное оказалось — это JSP и сервлеты…
prodigy
У меня тоже были большие глаза когда я увидел задание и скачал похожий готовый проект. Но ниче, начал разбирать этот готовый проект, нашёл видеотуториал пошаговый как создать crud приложение. Посмотрел попутно видеоуроки по интересующим моментам. Я просто разбирал уже готовый проект. Единственное что я глобально сделал это пейджинг. Я не брал готовые решения, потому что погружаться в очередную технологию небыло желания. У меня всё это заняло чуть более недели.
freakvulgar
я имел ввиду, что готовое решение может выступать в роли примера, чтобы разбираться, как для практики чтения чужого кода и т.д., так что потихоньку, спасибо за поддержку)
Einstein
Плиз, помогите…
HTTP Status 404 -

type Status report

message

description The requested resource is not available.

Apache Tomcat/8.5.6
jackill
Та же проблема, в Idea показывает ошибку WARNING [http-nio-8080-exec-6] org.springframework.web.servlet.PageNotFound.noHandlerFound No mapping found for HTTP request with URI [/favicon.ico] in DispatcherServlet with name 'mvc-dispatcher'. Уже неделю не могу решить проблему.
Einstein
Вопрос решил создав redirect.jsp
Einstein
P.S.: Если по умолчанию создать Spring MVC, тогда работает и показывает
Hello World
arthur2003
  • arthur2003
  • +1
  • Комментарий отредактирован 2016-11-06 14:28:52 пользователем arthur2003
Второй день мучаюсь с установкой СПринга к Идее Ултимейт эдишн.
это какой то п… ц.
Не говоря уже о задании (где надо сделать то, чему я и собарился обучиться на стажировке). и с десяток книг которые предлагаются к изучению.
Попахивает «иди туда не знаю куда делай то незнаю что»
За что я бабло то платил. За то чтобы второй день рыть просторы интернета? Самообучаться я могу и без вашего ресурса.

Дайте пошаговое руководство что делать чтобы подготовить среду для решения задания. А также перечислите конкретно ЧТО надо ПРОЧИТАТЬ о перечисленных технологиях, чтобы было достаточно для решения задания. 10 книг я полгода буду читать.
silent
  • silent
  • 0
  • Комментарий отредактирован 2016-11-17 14:36:35 пользователем silent
Начните с того, что прочитайте что такое Maven и зачем он нужен.
Аналогично Tomcat.
Почитайте для чего используется фреймворк Spring.
Пройдите простейшие туториалы spring.io/guides
Напишите простейшее приложение Hello World с использованием Spring. Как пример можете использовать www.mkyong.com/spring3/spring-3-hello-world-example/
Напишите Hello World с UI, пример: www.mkyong.com/spring-mvc/spring-mvc-hello-world-example/
Почитайте туториалы по SQL, и в частности, MySQL.
Почитайте про Hibernate.

На этом этапе Вы уже вполне понимаете как делать тестовое задание.
Задавайте конкретные вопросы, если что-то не получается.
п.с. Старайтесь использовать новые версии фреймворков и либ. Их можно брать из центрального Maven репозитория: search.maven.org/

Spring к IDEA не устанавливается, а прописывается в зависимостях (в файле pom.xml).
Один из вариантов как создать проект в IDEA: Create new project -> Spring -> Spring MVC. Дальше вводите group-id и artifact-id. В результате у вас есть веб-проект Hello world на Spring-MVC
arthur2003
спасибо. буду пробовать.
arthur2003
  • arthur2003
  • 0
  • Комментарий отредактирован 2016-11-12 14:59:20 пользователем arthur2003
>>Напишите Hello World с UI, пример: www.mkyong.com/spring-mvc/spring-mvc-hello-world-example/
Сделал по шагам из этой статьи, не работает
Выдает HTTP Status 404 — type Status report

message

description The requested resource is not available.

Apache Tomcat/7.0.72

Погуглил, не помогает. Переделывал по новой несколько раз, тоже не помогает. Что я делаю не так?
arthur2003
  • arthur2003
  • 0
  • Комментарий отредактирован 2016-11-12 15:08:53 пользователем arthur2003
пробовал делать еще по другому примеру, который сам нагуглил javastudy.ru/spring-mvc/hello-world-example/
И там не выходит, по шагам создать работающее приложение. Получается запустить только готовый проект, на который они приводят ссылку в конце
arthur2003
  • arthur2003
  • 0
  • Комментарий отредактирован 2016-11-12 23:57:17 пользователем arthur2003
100500 раз переделал по новой, результат тот же
HTTP Status 404 -

type Status report

message

description The requested resource is not available.

Apache Tomcat/7.0.72
nci
Ну и… там же по- русски нятно
The requested resource is not available.
не подключилась база или еще много чего связанное с входными данными. Что именно можно читать в 1-ой строчке после root cause
PodKrepkimCh
Подскажите пожалуйста, как я понял, после компиляции мавеном должны создаваться фалы.class в target papke? Но у меня пусто. После mvn package, вроде все содается, но попытка запустить «java -jar gs-maven-0.1.0» выдает unable to access jarfile. Что не так?
silent
  • silent
  • 0
  • Комментарий отредактирован 2016-11-06 20:54:06 пользователем silent
PodKrepkimCh
  • PodKrepkimCh
  • 0
  • Комментарий отредактирован 2016-11-06 17:43:52 пользователем PodKrepkimCh
спасибо за ссылку. Я пока просто разбирался с мавеном и продуктами его работы(не вэб), до томкат пока не дошел.
Antonim
silent, Вы не подскажете, сколько проходит проверка отправленного решения? Осталось не так много дней до окончания приема, хочется получить accept и уже спокойно дожидаться старта проекта.
silent
Добрый день.
Я проверяю тестовые задания 1-2 дня после Вашего отправления в рабочие дни.
К примеру, задания, которые пришли на выходных я проверю сегодня-завтра
Antonim
Спасибо большое за ответ! Буду ждать
PodKrepkimCh
А если у меня во вкладке Settings нету Application Servers и во вкладке Run/debug configuration, в списке Add new configuration — нету томката. То последствия бесплатной Idee?
Я могу взамен предложенного, распаковать архив токата, создать переменную Catalina_Home и запустить сервер из командной строки?
nci
найдите полную идею.
отличия между полной и бесплатной версиями тут

можете полностью приложение без идеи сделать…
но в идее прикрутить томкэт к проекту — 5 кликов мышкой, а в ручную…
maximka1945
  • maximka1945
  • 0
  • Комментарий отредактирован 2016-11-14 21:27:03 пользователем maximka1945
вручную тоже не сложно. в томкете настраиваешь юзеров, и там есть app manager, там загружаешь свой war, он его деплоит, и вуаля! я так проверял свой war, который мне генерил мавен.
jackill
Подскажите пожалуйста, в чем может быть проблема, создаю новый проект Spring MVC, пытаюсь запустить hello.jsp и в браузере вискакивает HTTP Status 404 — The requested resource is not available. В idea пишет ошибка «WARNING [http-nio-8080-exec-6] org.springframework.web.servlet.PageNotFound.noHandlerFound No mapping found for HTTP request with URI [/favicon.ico] in DispatcherServlet with name 'mvc-dispatcher'». Та же ошибка когда скачал и запустил проект www.mkyong.com/spring3/spring-3-hello-world-example/. В чем может быть проблема, подскажите пожалуйста, уже долго застрял на этом.
silent
Добрый день.

Когда Вы создаете новый проект Spring MVC, Вам не нужно запускать файл *.jsp.
Перед запуском веб-приложения нужно еще создать контроллер, который будет обрабатывать маппинги.

По второму: только что скачал себе код из www.mkyong.com/spring3/spring-3-hello-world-example/. Там запускается в классе App метод main и код отрабатывает.
sergiovanovi
ДД. Написал single-page CRUD приложение(xml конфиг) и осталось прикрутить paging, но вот назрел вопрос: с какой стороны лучше подойти? P.S. Читал про spring-data-jpa и его Pageable, но это получается, имхо, надо переписывать все с нуля) простите если в чем-то ошибся.
sergiovanovi
Пошел по пути обычных ссылок и разбиванием коллекции. Если есть что-то умнее подскажите, пожалуйста.
sergiovanovi
Ответ: запиливать в транзакцию по текущей странице.
nci
  • nci
  • 0
  • Комментарий отредактирован 2016-11-07 23:26:42 пользователем nci
Как тут уже писал silent: jqGrid, а пример в книге спринг 4 для профессионалов, стр 678 «Использование jqGrid для построения сетки данных, поддерживающей разбиение на страницы»
Но ты про это читал.
nci
  • nci
  • +1
  • Комментарий отредактирован 2016-11-08 00:04:50 пользователем nci
Для тех, кто уже скрутили рабочее приложение и думают как к нему добавить пейджинг и поиск.
Как я понимаю нужно заменить в уже написанном классе DAOImpl (я так понимаю именно он уже реализован). А именно:
1. создать interface UserRepository extends PagingAndSortingRepository<User, Integer>
2. в классе UserDaoImpl воспользоваться методами из UserRepository (без реализации их!!! реализованны где то в спринге)
<code>@Repository
@Transactional
public class UserDaoImpl {

    @Autowired
    private UserRepository userRepository;
    @Transactional(readOnly=true) 
     public List<User>  findAll() 
     return Lists.newArrayList(UserRepository.findAll()); 
....
</code>


3. Подкрутить контроллер
4. По подобию примера из Sprig 4 для профессионалов написать java-script выдающий список с пейджингом и поиск

silent — поправьте меня если не так.
И еще ))

Вопросы:

1. Паралельно 2 способа работать будут? т.е в одном приложении можно ли как переходный этап реализовать и DAO и Spring Data Commons ( меня смущает что в mvc-dispatcher-servlet.xml получаются:

<code><bean id="jpaTransactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
        <property name="entityManagerFactory"  ref="emf" />
    </bean>
<tx:annotation-driven transaction-manager="transactionManager"/>

    <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
        <property name="sessionFactory" ref="hibernate4AnnotatedSessionFactory"/>
    </bean></code>
2. Достаточно ли в mvc-dispatcher-servlet.xml прописать
<code><jpa:repositories base-package="usermanager.dao" /></code>
или надо по полной:
<code><bean  id="emf"
           class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        <property name="dataSource"  ref="dataSource"  />
        <property name="jpaVendorAdapter">
            <bean  class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"
            />
        </property>
        <property name="packagesToScan" value="usermanager"/>
        <property name="jpaProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect
                </prop>
                <prop key="hibernate.max_fetch_depth">3</prop>
                <prop key="hibernate.jdbc.fetch_size">5O</prop>
                <prop key="hibernate.jdbc.batch_size">1O</prop>
                <prop key="hibernate.show_sql">true</prop>
            </props>
        </property>
    </bean>
    <context:annotation-config/>

    <bean id="jpaTransactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
        <property name="entityManagerFactory"  ref="emf" />
    </bean>

    <jpa:repositories base-package="usermanager.dao"
                      entity-manager-factory-ref="emf"
                      transaction-manager-ref="jpaTransactionManager"/></code>
а то я начал писать, так mvc-dispatcher-servlet.xml стал ошибку выкидывать.
d0wn
тоже разгребаю этот этап
пока неуспех

mvc-dispatcher-servlet.xml
ругается на дубляж
name="dataSource"
, что логично, читаю, как решить
nci
  • nci
  • 0
  • Комментарий отредактирован 2016-11-08 10:26:23 пользователем nci
А это вам не поможет?
<tx:annotation-driven />

индусским кодерам помогает
d0wn
спасибо за линк, коллега, изучаю
эта строчка была всегда
что-то не идет каменный цветок…
nci
Ну что Данила Мастер… )))
вышел…
jqGrid?
d0wn
  • d0wn
  • 0
  • Комментарий отредактирован 2016-11-14 11:00:16 пользователем d0wn
вышел))
— «дублирование» лечится заданием уникальных имен бинов (о том, что им можно присваивать произвольные имена и что это вообще такое — вот только сейчас читаю)
— пейджинг я сделал каким-то совсем уж лайтовым способом через PageListHolder, не через PagingAndSortingRepository

я так понял, что есть множество способов реализовать пейджинг и серч и круд. Сейчас задача — не выпендриваться и не зарываться в технологию — это опасно, ибо времени в обрез. Поэтому сдал на проверку и срочно читаю спринг, чтобы на практику выйти хоть с какими-то знаниями и облегчить себе страдания))
maximka1945
это точно, задача — сделать все просто и быстро. никаких свистоперделок :)
silent
По поводу пейджинга все верно — это как один из вариантов его реализовать.
По поводу вопросов:
1 — параллельно два способа работать должны.
2 — нужно проверять.
nci
ошибка была такая:
NoSuchMethodError:org.springframework.beans.factory.xml.XmlReaderContext.getEnvironment()Lorg/springframework/core/env/Environment;

попила крови…
несовместимость spring 4.0.3 и spring-data-jpa
Перешел на спринг 5.0 и все поехало…
sergeykatash
Здравствуйте. Я проходил онлайн стажировку летним набором, но из-за нехватки времени не прошел и половины. Могу ли я пройти сначала с зимнем набором? Если да, то как записаться, потому что в разделе «Реальный проект» у меня написано, что я успешно завершил участие в реальном проекте.
silent
Задайте ваш вопрос по почте — напишите в support@javarush.ru
Einstein
У меня работает(без пейджинга пока). Но, у меня такая ошибка
java.sql.SQLException: Field 'id' doesn't have a default value
Если сделать autoincrement MySQLe будет работать, но когда добавляю например id=1, id автоматически становится след. номер не 1 из-за инкремента. Что делать?
prodigy
если ты инсёртишь поле id вообще не нужно трогать… в базе оно должно быть autoincrement и not null
Einstein
Но, когда я добавляю юзер с ид 1, его ид становится не 1.
prodigy
у тебя все пользователи должны бить уникальными, поэтому есть поле id, которое автоинкремент, и как следствие тебе не нужно определять самостоятельно id пользователя, сама СУБД имеет счетчик, который инкременируется каждый раз когда ты инсертишь нового пользователя.
Einstein
Спасибо, понял. Но поле Id должно быть? У меня
Id
Name
Age
Admin
Date
Einstein
У меня Edit, Delete, Search все связаны с ид. Это правильно?
prodigy
Поле id конечно должно быть, это уникальный идентификатор пользователя, иначе ты не сможешь выбрать нужного пользователя для операций: удаление, изменение и обновление. Но когда ты добавляешь пользователя в базу, поле id не нужно трогать. Об этом позаботится СУБД.
Einstein
Большое спасибо!!!
sergiovanovi
ДД. все сделал, но вопрос такой: нужен ли файл базы данных или только скрипт наполнения? потому что прикручен через xml конфигурацию на //localhost:3306/test с пользователем и паролем root и как-бы не вижу смысла выкладывать файл баз данных. Ошибаюсь?
silent
файл БД не нужен, только скрипт (или скрипты), в котором есть:
1. Создание таблицы
2. Наполнение этой таблицы тестовыми данными
sergiovanovi
Спасибо.
maximka1945
п.1 можно заменить автоматическим созданием таблицы при помощи hibernate.hbm2ddl.auto
playua
  • playua
  • 0
  • Комментарий отредактирован 2016-11-09 12:15:55 пользователем playua
Направьте по Spring. Я сильно в него начал зарываться, проблемы с тестовым заданием не было бы раньше делал уже CRUD с использованием hibernate и jsp.
Вопросы (просьбы):
— какая структура проекта Spring ?(Maven структура, вопрос именно о разбиении классов и пакетов для Spring)
— в проекте не должно быть new ОбектКласа(), только через context.xml или через класс с аннотациями?
— киньте ссылок по Spring (Hello World уже делал)
— подключение к ДБ, Spring коннектор нам не нужен? (через Hibernate соединение)
— скрипт обязателен? можно через хибернейт заполнить?
noxior
  • noxior
  • 0
  • Комментарий отредактирован 2016-11-09 18:55:33 пользователем noxior
как оплатить? когда оплачивал джавараш, платил через терминал IBOX. И сейчас хотел через него оплатить, но в нем просто нету меню W1, wallet one, единой кассы… но почему то при выборе ближайших терминадов, терминалы данной фирмы успешно отображаются! вот пруф www.ibox.ua/category/Elektronnyedengi...
в меню данной фирмы как вы видите ничего нет
Могу ли я просто тупо подойти в банк и тупо оплатить через кассу?
silent
Задайте ваш вопрос по почте — напишите в support@javarush.ru
freakvulgar
Доброго времени суток, с заданием почти разобрался, есть несколько вопросов перед отправкой:
1. при заполнении формы для обновления/редактирования валидация происходит силами javascript, но в случае, если он отключен в браузере, нужно проверять все в сеттерах UserModel и throw-ить до контроллера?
2. количество страниц для отображения пейджинга захардкоджено, это проблема или нужно добавлять меню для выбора количества столбцов в моем случае?
3. пейджинг происходит на стороне фронт энда, нужно ли при этом ограничивать запросы к базе, чтобы ее сразу всю не выгружать? или делать запросы по «SELECT * FROM tbl LIMIT 5,10» и т.д. (но сейчас все нормально работает) здесь уже писали, что вроде бы лучше всю базу и потом просто ее просматривать
4. отсюда еще один вопрос: есть ли смысл базу загружать только один раз при инициализации класса в статический список, например, а потом только с ним и работать (в базу только добавлять, удалять, обновлять и поиск делать, но снова не загружать все) для верности добавить кнопку синхронизации с базой, чтобы снова все загрузить…
5. по мере продвижения узнаешь все больше, больше и вопросов и сделать больше хочется, но вот последний вопрос: все уже более менее работает, есть ли смысл копаться дальше или можно сдавать, чтобы в случае чего было время доработать, если что не так?
silent
1. При проверке в браузере JS включен, можно обойтись без проверок.
2. Лучше сделать чтобы было фиксированное количество записей на страницу, а количество страниц изменялось в зависимости от того, сколько записей есть в БД.
3. Для этого конкретного задание нет разницы, но в реальных проектах лучше получать записи из БД порциями.
4. Лучше обращение к БД делать во время вызова метода, а не во время инициализации класса.
5. Предлагаю альтернативу: сдавайте, но для себя для интереса к этому приложению можно много всего прикрутить, например Spring security.
freakvulgar
спасибо за ответ, думаю, что для себя лучше позже сделать это приложение по всем правилам и законам разработки, чтобы до мелочей продумать все возможные варианты, а пока это больше попытка что-то новое понять и собрать все в кучу… еще немного нужно протестировать и буду отправлять!
maximka1945
  • maximka1945
  • 0
  • Комментарий отредактирован 2016-11-10 18:35:24 пользователем maximka1945
Народ, а с кодировкой ни у кого проблем нет, я так понимаю? Не могу добиться нормальной работы приложения с русским языком. Если в jsp-файлах прописываю кодировку UTF-8:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
...
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

то при отправке формы в базу пишется мусор.
если меняю кодировку на ISO-8859-1, то пишется в базу нормально и отображается нормально, но в input'е на форме символы закодированы как #…
Хотя в тестовом задании не ставился вопрос поддержки интернационализации, может забить на это?
freakvulgar
здесь уже где-то поднимался этот вопрос, кодировка не так важна в итоге, можно не заморачиваться, пусть будет на латинице
maximka1945
Это хорошо, но я как раз вроде бы уже разрулил проблемы с кодировкой :) Так что не помешает, на будущее.
freakvulgar
в таком случай спрошу заодно) у меня получилось это сделать только в настройка web.xml через фильтр «org.springframework.web.filter.CharacterEncodingFilter» и добавив в url подключения 'characterEncoding=UTF-8', но настройки с конфигурацией hibernate не приводили к желаемому результату… в моем случае они были бином класса org.springframework.orm.hibernate5.LocalSessionFactoryBean
maximka1945
я не добавлял ничего в строку подключения, только настраивал CharacterEncodingFilter и все страницы jsp делал в UTF-8 и в них прописал кодировку.
freakvulgar
последние пару вопросов:
1. в задании написано, что нужно выкладывать на Bitbucket или GitHub, а можно выложить на другой гит хостинг, например gitlab? просто интересно, для разнообразия
2. на каком языке предпочтительно писать readme.md?
silent
1. GitLab подойдет — если вам с ним удобнее работать — выкладывайте на него.
2. Я прочитаю и русский и английский, так что как Вам удобнее.
yana693
Добрый день, не подскажете, когда проверите проект? отправила середине прошлой недели. Спасибо.
prodigy
На стажировке используется github, так что имеет смысл сразу осваивать его.
freakvulgar
возможно, что GitHub удобнее для ведения статистики и лучше может все в графиках показать на странице, но в консоли для git все равно куда выкладывать, главное, думаю, уметь пользоваться git, потом уже все остальное, еще git flow нужно освоить) в данном случае, просто ссылка откуда клонировать будет разной, а так, конечно, если проект использует github, тогда без вопросов
Max_T
Добрый день
Ситуация следующая — у меня сейчас 23 уровень, и подписка, не предусматривающая стажировку. Соответственно, нужно осилить еще 7 уровней, проапгрейдить подписку, и выполнить тестовое задание.
Отсюда вопрос — можно ли увидеть тестовое задание, что б было понимание — есть ли резон в поте лица попытаться таки «добить» оставшиеся уровни и проплатить апгрейд, или же куда-то рыпаться уже поздно.
silent
Если вы не программист на другом языке, и переходите на Java, я бы Вам порекомендовал не спешить, и проходить материал вдумчиво. Мы рекомендуем стажировку проходить после 40 уровня, так как во время самой стажировке будет больше понимания. 30 уровень — это минимальный, при котором можно учить фреймворки и понимать для решения каких проблем эти фреймворки создавались.
На вопрос, стоит ли проходить стажировку — однозначно стоит, так как на стажировке Вы знакомитесь с разными технологиями, которые Вы, вполне вероятно, встретите на реальных проектах.
Еще ответ на Ваш вопрос зависит от того, сколько времени Вы готовы посвящать обучению.
Текст тестового задания дать не могу. Могу лишь сообщить что это элементарное CRUD приложение, с использованием технологий: Spring, Hibernate, MySQL, Maven, Tomcat и что-то для UI.
В конечном итоге решение принимать Вам.
Max_T
Спасибо за разъяснения.
Einstein
Плиз, помогите с пейджингом…
freakvulgar
чтобы не изобретать велосипед, я нашел javascript файл, который состоял из одного объекта Pager, в нем было несколько методов, которые отвечали за прокрутку и прорисовку, идея довольно проста, один метод считает количество рядов в таблице и распределяет их на страницы, в зависимости от того, сколько нужно рядов на странице, второй работает как переключатель, делая невидимыми те, с страницы, с которых переключились и еще метод для генерации html кода, в интернете можно найти много разных вариантов, я разве что только изменил метод генерации кода для кнопочек, чтобы они были в стиле страницы, так что решения есть и их достаточно если правильно поискать… если что, могу скинуть файл javascript в личку
prodigy
Я не стал заморачиваться готовыми решениями. Я использовал в запросах LIMIT, для выборки данных частями. Создал поле в котором хранил текущую страницу, чтобы понимать какую часть данных вытягивать из базы при нажатии на кнопки Next/Prev. Соответственно текущая страница была задизэблена. Какую часть данных вываливать на страницу зависело от количества строк на страницу. Номер текущей страницы умножал на количество строк на страницу минус кол-во строк на страницу — это первый параметр LIMIT (?,?), второй, кол-во строк на страницу.
Например, кол-во строк на страницу(PAGE_SIZE) = 5, пользователь клацнул на страницу 3 (pageNumber)
1: PAGE_SIZE * pageNumber — PAGE_SIZE = 5 * 3 — 5 = 10;
2: PAGE_SIZE = 5;

Итоговый запрос выглядит так «SELECT * FROM USERS LIMIT 10,5»

Третья страница выдаст результат из базы с 10 строки + 5 строк (10-14).
freakvulgar
вариантов есть много, здесь еще стоит учитывать размер базы, в данном случае это просто пример, реализация может быть разной, кому как удобней, можно и через лимит, такие варианты тоже встречались, как раз подходит для большой базы, чтобы все не выгружать сразу
Einstein
Честно говоря, по пейджингу ничего не понятно. Можете порекомендовать какой-нибудь туториал?
arthur2003
  • arthur2003
  • 0
  • Комментарий отредактирован 2016-11-13 00:03:27 пользователем arthur2003
Дублирую свой вопрос и тут. Может сверху он не заметен.

У меня не получается создать hello world на спринге и вывести в браузер. Делал по www.mkyong.com/spring-mvc/spring-mvc-hello-world-example/
выдается ошибка.
<code>HTTP Status 404 — type Status report

message

description The requested resource is not available.

Apache Tomcat/7.0.72</code>
Помогите плз, что где проверить. Хотел попасть на прошлую стажировку, но не успел дойти до 30-го уровня. Хоть щас надо попасть на нее, а для этого тестовое задание надо сделать. А для этого научиться хелоуворлд выводить.
Einstein
Intellij IDEA (14.0:
Create New Project — Spring — Spring MVC — (next) — ✓ «Create project from template» — Project name — Finish
arthur2003
У меня темплейта нету. Стоит Ultimate 2016.2
freakvulgar
description The requested resource is not available.
, томкат не может найти запрашиваемый ресурс, если все правильно сделали по руководству, которое в ссылке, то проблема может быть в том, как вы развернули это в томкат и правильная ли ссылка, по которой открываете страницу? в бине там стоит мап по /welcome.htm, а ссылка на саму страницу localhost:8080/spring2/welcome.htm
может пути не совпадают?
arthur2003
Мучаюсь гуглю уже сил нет…
ДУмаю косяк в настройках Томката.

Вот лог томката.
C:\apache-tomcat-7.0.72\bin\catalina.bat run
[2016-11-13 09:01:40,178] Artifact untitled13:war exploded: Server is not connected. Deploy is not available.
Using CATALINA_BASE:   "C:\Users\Rivera\.IntelliJIdea2016.2\system\tomcat\Unnamed_untitled13_5"
Using CATALINA_HOME:   "C:\apache-tomcat-7.0.72"
Using CATALINA_TMPDIR: "C:\apache-tomcat-7.0.72\temp"
Using JRE_HOME:        "C:\Program Files\Java\jdk1.7.0_79"
Using CLASSPATH:       "C:\apache-tomcat-7.0.72\bin\bootstrap.jar;C:\apache-tomcat-7.0.72\bin\tomcat-juli.jar"
ноя 13, 2016 9:01:41 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version:        Apache Tomcat/7.0.72
ноя 13, 2016 9:01:41 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built:          Sep 14 2016 12:12:26 UTC
ноя 13, 2016 9:01:41 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server number:         7.0.72.0
ноя 13, 2016 9:01:41 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name:               Windows 7
ноя 13, 2016 9:01:41 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Version:            6.1
ноя 13, 2016 9:01:41 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture:          amd64
ноя 13, 2016 9:01:41 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Java Home:             C:\Program Files\Java\jdk1.7.0_79\jre
ноя 13, 2016 9:01:41 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Version:           1.7.0_79-b15
ноя 13, 2016 9:01:41 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Vendor:            Oracle Corporation
ноя 13, 2016 9:01:41 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE:         C:\Users\Rivera\.IntelliJIdea2016.2\system\tomcat\Unnamed_untitled13_5
ноя 13, 2016 9:01:41 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME:         C:\apache-tomcat-7.0.72
ноя 13, 2016 9:01:41 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcom.sun.management.jmxremote=
ноя 13, 2016 9:01:41 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcom.sun.management.jmxremote.port=1099
ноя 13, 2016 9:01:41 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcom.sun.management.jmxremote.ssl=false
ноя 13, 2016 9:01:41 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcom.sun.management.jmxremote.authenticate=false
ноя 13, 2016 9:01:41 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.rmi.server.hostname=127.0.0.1
ноя 13, 2016 9:01:41 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
ноя 13, 2016 9:01:41 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.util.logging.config.file=C:\Users\Rivera\.IntelliJIdea2016.2\system\tomcat\Unnamed_untitled13_5\conf\logging.properties
ноя 13, 2016 9:01:41 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
ноя 13, 2016 9:01:41 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.endorsed.dirs=C:\apache-tomcat-7.0.72\endorsed
ноя 13, 2016 9:01:41 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.base=C:\Users\Rivera\.IntelliJIdea2016.2\system\tomcat\Unnamed_untitled13_5
ноя 13, 2016 9:01:41 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.home=C:\apache-tomcat-7.0.72
ноя 13, 2016 9:01:41 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.io.tmpdir=C:\apache-tomcat-7.0.72\temp
ноя 13, 2016 9:01:41 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.7.0_79\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\IVT Corporation\BlueSoleil\Mobile;C:\Program Files (x86)\Toshiba\Bluetooth Toshiba Stack\sys\;C:\Program Files (x86)\Toshiba\Bluetooth Toshiba Stack\sys\x64\;C:\Program Files (x86)\Skype\Phone\;C:\Program Files\Java\jdk1.8.0_73\bin;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\apache-maven-3.3.9\bin; C:\Program Files\Common Files\Microsoft Shared\Windows Live;;.
ноя 13, 2016 9:01:41 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
ноя 13, 2016 9:01:41 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
ноя 13, 2016 9:01:41 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 848 ms
ноя 13, 2016 9:01:41 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
ноя 13, 2016 9:01:41 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.72
ноя 13, 2016 9:01:41 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
ноя 13, 2016 9:01:41 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
ноя 13, 2016 9:01:41 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 77 ms
Connected to server
[2016-11-13 09:01:42,336] Artifact untitled13:war exploded: Artifact is being deployed, please wait...
[2016-11-13 09:01:42,986] Artifact untitled13:war exploded: Artifact is deployed successfully
[2016-11-13 09:01:42,987] Artifact untitled13:war exploded: Deploy took 651 milliseconds
ноя 13, 2016 9:01:51 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory C:\apache-tomcat-7.0.72\webapps\manager
ноя 13, 2016 9:01:52 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory C:\apache-tomcat-7.0.72\webapps\manager has finished in 182 ms
arthur2003
  • arthur2003
  • 0
  • Комментарий отредактирован 2016-11-13 21:17:12 пользователем arthur2003
Может я тупой?
Кто нибудь помогите!!!
freakvulgar
никто не тупой, у всех косяки бывают, я так понял, что томкат запускается с командной строки?
C:\apache-tomcat-7.0.72\bin\catalina.bat run
или это в идее такой вывод? если запускаете из командной строки отдельно, то запуск вроде осуществляется через startup.bat и завершение через shutdown.bat… и написано там, что
Artifact untitled13:war exploded: Server is not connected
что сервер не подключен… если через IDEA, то я использовал версию ultimate, в которой можно добавить Tomcat в Settings>Build...>Application Server и там добравляете томкат по пути к корневой папке, позже в конфигурации запуска, которая вверху справа в идее, нужно добавить новую конфигурацию, выбрать Tomcat Server > Local и там указать свой артефакт для деплоя, если нужно использовать для дебага, то лучше указать exploded, чтобы в реальном времени и над кодом работать и смотреть изменения в браузере, пробуйте!
arthur2003
  • arthur2003
  • 0
  • Комментарий отредактирован 2016-11-13 21:50:58 пользователем arthur2003
если через IDEA, то я использовал версию ultimate, в которой можно добавить Tomcat в Settings>Build...>Application Server и там добравляете томкат по пути к корневой папке, позже в конфигурации запуска, которая вверху справа в идее, нужно добавить новую конфигурацию, выбрать Tomcat Server > Local и там указать свой артефакт для деплоя

я делаю именно так.

Не выходит
arthur2003
кину 100 руб на телефон тому кто подскажет ЧДНТ
freakvulgar
так там одни инфо, написано, что
Artifact is deployed successfully
значит все прошло нормально, должен открыться браузер и все работать, если браузер задан в настройках, я по привычке если лог, то сразу одни ошибки… по идее все нормально, проверяйте
arthur2003
  • arthur2003
  • 0
  • Комментарий отредактирован 2016-11-13 22:25:46 пользователем arthur2003
Не работает.
Либо томкат не так настроен (хотя настраивал по it-channel.ru/2016/02/29/install-tomcat/)
Либо я что то не то делаю.
Может в папке с Томкатом надо еще что то ДОнастраивать, server.xml или web.xml

Пример из ссылки, которую дал Silent — www.mkyong.com/spring-mvc/spring-mvc-hello-world-example/ проделал уже раз 10. Также как и несколько других нагугленных примеров про ХеллоуВорлд.

Вместо того чтобы приступить к тестовой задаче, пердолюсь с супер сложной задачей HelloWorld…

HELP!
freakvulgar
hello world это просто пример для понимания, чтобы запустить в Tomcat и увидеть на странице Hello World, попробуйте создать пустой Maven проект с архитипом webapp и запустить его, предварительно добавив Tomcat как конфигурацию запуска, там, если не ошибаюсь, тоже одна страничка hello world у меня иногда просто Tomcat подвисал, так как версия 9 использовалась, еще у меня была дополнительно на всякий случай конфигурация запуска Maven, где просто прописано было в строке command line
clean
, на всякий случай, чтобы почистить все и заново собрать…
arthur2003
  • arthur2003
  • 0
  • Комментарий отредактирован 2016-11-13 22:47:26 пользователем arthur2003
Попробую пустой Мавен. Завтра если после работы силы и время будет. Но я хочу в любом случае с примером из этой ссылки до конца разобраться…почему не работает.
Silent, надеюсь на вашу помощь
Virgamot
  • Virgamot
  • 0
  • Комментарий отредактирован 2016-11-13 13:27:52 пользователем Virgamot
Правильно ли я понял, что в качестве скрипта для наполнения тестовой базы данных, нужен SQL-скрипт, никак не связанный с основным проектом? Если да, то где он должен находиться?
freakvulgar
у меня в корне проекта, там где и pom.xml, в случае если он где-то внутри, то указать это в readme
silent
Правильно. Должен лежать в корне проекта, в папке ресурсов, или в любом месте в проекте, чтобы я мог его найти
maximka1945
  • maximka1945
  • 0
  • Комментарий отредактирован 2016-11-14 20:10:28 пользователем maximka1945
Я делал автоматическое создание БД при помощи hibernate.hbm2ddl.auto и вставку тестовых данных из sql-файла при запуске приложения при помощи hibernate.hbm2ddl.import_files, для тестового задания это очень удобно, и никаких танцев с бубнами для проверяющего.
nci
  • nci
  • 0
Товарищи, jqGrid кто нибудь успешно прикрутил к проекту?
а то я JPA (springframework.data.repository.PagingAndSortingRepository) к проекту прикрутил — все работает, странички выдает(в ручном режиме), но вот jqGrid (сам javaScript) не идет. Много раз перечитал всю главу в «Спринг 4 для профессионалов»(нашел там ошибок...), и так инет перелопатил… Подозреваю что из-за jsonReader затыка. Пришлите в личку реализацию javascript или пните где работающий example найти…
silent
Чтобы было меньше ошибок — литературу нужно читать в оригинале.
github.com/apress/pro-spring-14. Качаем, открываем проект в Chapter16.
Настраиваем Tomcat на URL localhost:8080/contacts и смотрим на красивую картинку:
nci
Спасибо за наводку.
Но наверное будет у меня тестовое без jqGrid. Боюсь закапаться во второстепенное, не освоив spring…
Функционал Spring data оценил.
public   interface UserRepository   extends PagingAndSortingRepository<User,  Integer> {
    List<User> findByName(String name);
}

только это!!! без всякой реализации позволяет получить список User-ов с именем name


В общем приложение сделал, навожу красоту… В связи с этим вопросы:
1. До добавления пейджинга весь функционал был на одной странице. Добавить нового легко. отредактировать — нужные данные искались и подставлялись в поля формы для добавления/редактирования на этой же странице.
Т.к. все реализовано на 1-ой странице то косяков с этим не было.

После подключения пейджинга стал редактировать на отдельной странице edit а потом: return «redirect:/pages/1»; и это работает.
@RequestMapping("edit/{id}")
    public String editUser(@PathVariable("id") int id, Model model){
        model.addAttribute("user", this.contactService.findById(id));
        model.addAttribute("listUsers", this.contactService.findAll());
        return "edit";
    }

Хочу запилить вызов данных для редактирования user-a при нажатии на Edit, а после завершения редактирования возврат на на ту же страницу откуда был запрос на редактирование.
crud
Для этого в контроллер ввел пременную private int currPage; которая обновляется при пэйджинге, но вот ее привязать к возвращаемому результату никак
например return «redirect:/pages/»+this.currPage или отдельно делать строку с этим содержанием ( return string; )выдает localhost:8080/pages/pages/3 и соответственно ошибка что нет такой страницы.
а при жесткой ссылке return «redirect:/pages/1» теряются данные для редактирования usera.
При выдаче страниц вроде предусмотрел чтобы данные не терялись:
@RequestMapping(value = "/pages/{pageNumber}", method = RequestMethod.GET)
    public String getUserPage(@ModelAttribute("user") User user, @PathVariable Integer pageNumber, Model model) {
        this.currPage=pageNumber;
        PageRequest request =
                new PageRequest(pageNumber - 1, PAGE_SIZE, Sort.Direction.DESC, "id");
        Page<User> page = contactService.findAllByPage(request);

        int current = page.getNumber() + 1;
        int begin = Math.max(1, current - 5);
        int end = Math.min(begin + 10, page.getTotalPages());

        int id = user.getId();
        if (id !=0 ){
            this.contactService.edit(user);
            model.addAttribute("user",user);
        } else model.addAttribute("user", new User());
        model.addAttribute("users", page);
        model.addAttribute("listUsers", page.getContent());
        model.addAttribute("beginIndex", begin);
        model.addAttribute("endIndex", end);
        model.addAttribute("currentIndex", current);
        return "users";
    }

Что я упускаю?
silent
Можно поступить немного проще, и после редактирования (или удаления) пользователя сделать редирект на список всех пользователей
nci
т.е. на страницу без пейджинга или я чего то не понимаю
silent
на страницу номер 1 списка всех пользователей:
После подключения пейджинга стал редактировать на отдельной странице edit а потом: return «redirect:/pages/1»; и это работает.
silent
  • silent
  • 0
  • Комментарий отредактирован 2016-11-14 18:57:10 пользователем silent
Проверил все решения, отправленные с 10.11 по 14.11.
Кто прошел — тому должно прийти письмо что Вы зачислены на стажировку.
Кто не прошел — я лично каждому написал замечания. Если что-то в замечаниях не понятно — пишите, объясню. Присылайте решения с исправлениями

Следующий раз сяду проверять тестовые решения 17.11.
arthur2003
  • arthur2003
  • 0
  • Комментарий отредактирован 2016-11-14 22:27:54 пользователем arthur2003
Господа, еще раз взываю к помощи. Делаю все по www.mkyong.com/spring-mvc/spring-mvc-hello-world-example/.
Запускаю проект по ссылке localhost:8080/spring2/welcome.htm
Выдается ошибка
<code>type Status report

message /spring2/welcome.htm

description The requested resource is not available.</code>

Скрин структуры проекта

Лог томката:
<code>C:\apache-tomcat-7.0.72\bin\catalina.bat run
[2016-11-14 10:06:51,557] Artifact untitled12:war: Server is not connected. Deploy is not available.
[2016-11-14 10:06:51,557] Artifact untitled12:war exploded: Server is not connected. Deploy is not available.
Using CATALINA_BASE:   "C:\Users\Rivera\.IntelliJIdea2016.2\system\tomcat\Unnamed_untitled12"
Using CATALINA_HOME:   "C:\apache-tomcat-7.0.72"
Using CATALINA_TMPDIR: "C:\apache-tomcat-7.0.72\temp"
Using JRE_HOME:        "C:\Program Files\Java\jdk1.7.0_79"
Using CLASSPATH:       "C:\apache-tomcat-7.0.72\bin\bootstrap.jar;C:\apache-tomcat-7.0.72\bin\tomcat-juli.jar"
ноя 14, 2016 10:06:53 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host} Setting property 'xmlValidation' to 'false' did not find a matching property.
ноя 14, 2016 10:06:53 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host} Setting property 'xmlNamespaceAware' to 'false' did not find a matching property.
ноя 14, 2016 10:06:53 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version:        Apache Tomcat/7.0.72
ноя 14, 2016 10:06:53 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built:          Sep 14 2016 12:12:26 UTC
ноя 14, 2016 10:06:53 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server number:         7.0.72.0
ноя 14, 2016 10:06:53 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name:               Windows 7
ноя 14, 2016 10:06:53 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Version:            6.1
ноя 14, 2016 10:06:53 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture:          amd64
ноя 14, 2016 10:06:53 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Java Home:             C:\Program Files\Java\jdk1.7.0_79\jre
ноя 14, 2016 10:06:53 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Version:           1.7.0_79-b15
ноя 14, 2016 10:06:53 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Vendor:            Oracle Corporation
ноя 14, 2016 10:06:53 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE:         C:\Users\Rivera\.IntelliJIdea2016.2\system\tomcat\Unnamed_untitled12
ноя 14, 2016 10:06:53 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME:         C:\apache-tomcat-7.0.72
ноя 14, 2016 10:06:53 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcom.sun.management.jmxremote=
ноя 14, 2016 10:06:53 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcom.sun.management.jmxremote.port=1099
ноя 14, 2016 10:06:53 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcom.sun.management.jmxremote.ssl=false
ноя 14, 2016 10:06:53 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcom.sun.management.jmxremote.authenticate=false
ноя 14, 2016 10:06:53 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.rmi.server.hostname=127.0.0.1
ноя 14, 2016 10:06:53 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
ноя 14, 2016 10:06:53 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.util.logging.config.file=C:\Users\Rivera\.IntelliJIdea2016.2\system\tomcat\Unnamed_untitled12\conf\logging.properties
ноя 14, 2016 10:06:53 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
ноя 14, 2016 10:06:53 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.endorsed.dirs=C:\apache-tomcat-7.0.72\endorsed
ноя 14, 2016 10:06:53 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.base=C:\Users\Rivera\.IntelliJIdea2016.2\system\tomcat\Unnamed_untitled12
ноя 14, 2016 10:06:53 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.home=C:\apache-tomcat-7.0.72
ноя 14, 2016 10:06:53 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.io.tmpdir=C:\apache-tomcat-7.0.72\temp
ноя 14, 2016 10:06:53 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.7.0_79\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\IVT Corporation\BlueSoleil\Mobile;C:\Program Files (x86)\Toshiba\Bluetooth Toshiba Stack\sys\;C:\Program Files (x86)\Toshiba\Bluetooth Toshiba Stack\sys\x64\;C:\Program Files (x86)\Skype\Phone\;C:\Program Files\Java\jdk1.8.0_73\bin;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\apache-maven-3.3.9\bin; C:\Program Files\Common Files\Microsoft Shared\Windows Live;;.
ноя 14, 2016 10:06:53 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
ноя 14, 2016 10:06:53 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
ноя 14, 2016 10:06:53 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1037 ms
ноя 14, 2016 10:06:53 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
ноя 14, 2016 10:06:53 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.72
ноя 14, 2016 10:06:53 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
ноя 14, 2016 10:06:53 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
ноя 14, 2016 10:06:53 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 75 ms
Connected to server
[2016-11-14 10:06:53,892] Artifact untitled12:war: Artifact is being deployed, please wait...
[2016-11-14 10:06:53,902] Artifact untitled12:war exploded: Artifact is being deployed, please wait...
[2016-11-14 10:06:55,326] Artifact untitled12:war: Artifact is deployed successfully
[2016-11-14 10:06:55,326] Artifact untitled12:war: Deploy took 1 434 milliseconds
[2016-11-14 10:06:55,336] Artifact untitled12:war exploded: Artifact is deployed successfully
[2016-11-14 10:06:55,336] Artifact untitled12:war exploded: Deploy took 1 434 milliseconds
ноя 14, 2016 10:07:03 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory C:\apache-tomcat-7.0.72\webapps\manager
ноя 14, 2016 10:07:03 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory C:\apache-tomcat-7.0.72\webapps\manager has finished in 133 ms
</code>
Подскажите, куда тыкать что нажимать!

silent , выше вы говорили, что задавайте конкретные вопросы, если что не получается.
Вот — я задаю конкретный вопрос.
arthur2003
  • arthur2003
  • 0
  • Комментарий отредактирован 2016-11-14 22:32:53 пользователем arthur2003
silent , вы выше на мой выше вопрос ответили, что по шагам делать и что гуглить.
Начните с того, что прочитайте что такое Maven и зачем он нужен.
Аналогично Tomcat.
Почитайте для чего используется фреймворк Spring.
Пройдите простейшие туториалы spring.io/guides
Напишите простейшее приложение Hello World с использованием Spring. Как пример можете использовать www.mkyong.com/spring3/spring-3-hello-world-example/
Напишите Hello World с UI, пример: www.mkyong.com/spring-mvc/spring-mvc-hello-world-example/
Почитайте туториалы по SQL, и в частности, MySQL.
Почитайте про Hibernate.
Так вот у меня затык. На 6-м (из 8) шаге
silent
Только что написал в личном сообщении.
Как вариант, можете попробовать запустить приложение на 8 Tomcat, хотя на седьмом у меня тоже работает
jackson
Как сделать так, чтобы checkbox получал атрибут checked в зависимости от значения isAdmin? При создании и редактировании пользователя данные сохраняются, но при редактировании checkbox постоянно в состоянии unckecked.
Код формы редактирования:
<div class="checkbox">
    <label>
        <form:checkbox id="admin" path="admin" value="${userObject.admin}"/>
        Admin
    </label>
</div>
nci
  • nci
  • 0
  • Комментарий отредактирован 2016-11-15 10:45:16 пользователем nci
А зачем вам чекбокс, имхо радиобаттон лучше для этого
<form:radiobutton path="Admin" value="false" label="user"  />
 <form:radiobutton path="Admin" value="true" label="admin" />
shcho_isle
Делал через XML или аннотации?
jackson
Аннотации.
shcho_isle
Используешь ли ты в контроллере org.springframework.ui.ModelMap? или что-то другое?
jackson
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
shcho_isle
Я когда сначала пробовал сделать через org.springframework.web.servlet.ModelAndView — то была такая же проблема с чекбоксом.

У org.springframework.ui.ModelMap такой проблемы нет.
jackson
Т.е. вместо
@RequestMapping("editUser")
    public ModelAndView editUser(@RequestParam int id, @ModelAttribute User user) {
        user = userService.getUser(id);
        return new ModelAndView("userForm", "userObject", user);
    }
использовать
@RequestMapping("editUser")
    public String editUser(ModelMap modelMap, @RequestParam int id) {
        modelMap.addAttribute(this.userService.getUser(id));
        return "userForm";
    }
?
shcho_isle
Именно. Незнаю критично ли, но у меня:
modelMap.addAttribute("user", this.userService.getUser(id));
jackson
Ничего не получилось с чекбоксом, поэтому сделал в лоб с помощью radio button:
<input id="radioAdmin" name="admin" type="radio" value="true"
       <c:if test="${userObject.admin}"> checked="checked"</c:if> />
<input id="radioUser" name="admin" type="radio" value="false"
       <c:if test="${!userObject.admin}"> checked="checked"</c:if> />
PodKrepkimCh
Подскажите пожалуйста, я делал Спринг «hello word» по вашей ссылке www.mkyong.com/spring3/spring-3-hello-world-example/
у меня файл pom.xml в Idee получается не помеченым буквой m, и от этого она не выдает оповещенеие, что нужно подгрузить депенденси из главного репозитория и я их поключал через lybrarys из maven. Когда скачиваю готовый пример, и удаляю фалы мавена, Idee подсказывает, что нужно загрузить зависимости и они подгружаются одним щелчком. Как пометить pom.xml, чтобы Idee его воспринимала как надо?
shcho_isle
Может плагин мавена в Идее не подключен?
PodKrepkimCh
ну при созданнии проекта с нуля, можно выбрать мавен проект. Это значит что плагин мавен подключен? Если нет, то для мавена я плагина не подключал.
shcho_isle
  • shcho_isle
  • 0
  • Комментарий отредактирован 2016-11-15 17:26:14 пользователем shcho_isle
Проверь в Идее в плагинах чтобы был включен «Maven Integration»
silent
По симптомам похоже на то, что вы открыли в Идее не проект, а каталог на уровень выше того, в котором лежит проект.
Опишите подробно как Вы открывали пример
PodKrepkimCh
silent
Нажмите сюда:

По краям экрана появятся панели. Справа будет «Maven Projects». В нем есть Ваш проект «zzz»?
PodKrepkimCh
  • PodKrepkimCh
  • 0
  • Комментарий отредактирован 2016-11-16 17:52:43 пользователем PodKrepkimCh
Спасибо за помощь, потом и компилироваться перестало, в чем была проблема я не понял.
Я пересоздал с нуля, все теперь работает нормально.
jackson
Чтобы не набивать вручную кучу пользователей для тестов пользуемся https://www.mockaroo.com/.
dwajot
Осталось прикрутить только пейджинг и вот не знаю как лучше. Начал пробовать через Spring Data JPA, но что-то не очень пошло(нужно было много чего подключать в депенденси и я забросил это дело, что бы не сломать уже то, что сделал:))Ну а по большому счету от неопытности. Почитал что можно реализовать через displaytag. Тоже не очень получилось. Буду раз любым советам, ну а пока еще что-то поковыряю.
dwajot
Все же решил делать через Spring Data JPA пользуясь этим туториалом Your text to link...
У меня вопрос — я стопорюсь на таком моменте, в интерфейсе UserDao я делаю extend JpaRepository<User, Long>, потом соответственно в классе UserDaoImpl, который наследует этот интерфейс подсвечивает, что нужно переопределить целую кучу методов(я их посчитал их 24). Ну это ладно, но когда начинаешь переопределять, то половина их них подсвечивается красным и пишет, что Method does not override method from its superclass. Вот на этом моменте начинается заминка и не могу двинуться дальше.
Fry
думаю их просто можно удалить =) И оно все будет работать так же. Посмотри реализацию интерфейса JpaRepository
dwajot
Я пробовал. Вот собственно мой интерфейс.UserDao
Вот класс.UserDaoImpl
После удаления все равно айдия подсвечивает что методы не унаследованы. Методы вот эти.методы
А после их унаследования пишет тоже самое, что они не унаследованы, а сами методы подсвечиватся вот так.

Я еще не прописывал депенденси вот с этой ссылки Ссылка.
И еще сопутствующий вопрос по их прописанию POM и Spring configuration я понимаю где прописать, а вот JPA configuration я у себя в проэкте не могу найти.
dwajot
все отбой — реализовал благодаря этому туториалу:) Может вам поможет:)
nci
JPA configuration

шифт+контрл+альт +S потом modules, там JPA
и новый: META-INF\persistence.xml
генерирует идея, я туда дописал только:
<persistence-unit name="userManagerPersistance"></persistence-unit>



FRY прав — DAO проще удалить.
Я создавал репозиторий + интерфейс сервис и класс реализацию интерфейса.
Спринг 4 — там нормально описано(до jqGrid) См выше мои посты.
ihor
  • ihor
  • 0
когда будет извесно результат тестового задания?
Вы успешно подали заявку на участие в реальном проекте. Ваша заявка находится в статусе «Проверка»
ihor
  • ihor
  • 0
когда будет извесно результат тестового задания?
nci
когда проверят
когда проверят
я не повторяю повторяю 2 раза 2 раза )

завтра silent смотреть будет
silent
Все решения, кто подал тестовое задание с 14.11 до 17.11 — проверю сегодня
IceGrayX
Включительно 17.11?
silent
Сейчас проверяю задания. Когда в списке отправленных заданий они закончатся — переключусь на следующую таску. Так что зависит от Вас, успеете ли Вы отправить решение в течении пары часов. Если успеете — включительно, если не успеете — то следующий раз буду проверять задания 21.11.
IceGrayX
Спасибо!
ihor
  • ihor
  • 0
спасибо
PodKrepkimCh
Делал по вашей ссылке www.mkyong.com/spring-mvc/spring-mvc-hello-world-example/
в браузере выдает HTTP Status 404.
Скачал готовый пример, выдает тоже самое.
Вот вывод компиляции-


И когда я создаю приложение выбирая Spring->Spring MVS вроде должен создаваться контроллер, а у меня заполняется только папка WEB-INF.
dwajot
  • dwajot
  • +2
  • Комментарий отредактирован 2016-11-17 14:12:57 пользователем dwajot
у меня было то же самое — пол дня потратил, даже скачал idea 14 что бы создать проэкт — хотел делать по этому видеоуроку тыц но что-то изначально создать никак не выходило, поэтому я скачал проэкт этого видеоурока и на счастье он у меня открылся, потом я его досмотрел — чуть-чуть понял что к чему и начал этот проэкт переделывать под то задание, что нам нужно.
PodKrepkimCh
я как раз сейчас смотрел это видео) Спасибо, а то я уже начал отчаиваться и думать, что у меня то ли с руками проблема то ли с головой) Сейчас скачаю тот проект и проверю.

А у тебя создается контролер как в самом начале этого урока? У меня папка src создается пустой.
dwajot
в idea 16 создается пустой, там писали в коментах под тем видео, что бы так создать, нужно сначала мавен проэкт создать, а потом спринг подключать. Я и так пробовал, но как-то все равно криво получалось. Оно знаешь, когда все наугад делаешь без изначального обучения, как мы на джавараше все с хелло ворлд учили, а показали бы нам сразу потоки или нити, тоже какждый бы себя тупым почувствовал:) удачи тебе, если что спрашивай, я уже вчера сдал на проверку:)
silent
Используйте пример www.mkyong.com/spring3/spring-3-mvc-hello-world-example/ вместо www.mkyong.com/spring-mvc/spring-mvc-hello-world-example/ (в этом примере ошибка маппинга сервлета)
silent
ВНИМАНИЕ ВСЕМ!!!

Когда подключаете зависимости в pom.xml — используйте только СТАБИЛЬНЫЕ версии библиотек, чтобы мне не приходилось изменять Spring5(которого, между прочим, нет в центральном Maven репозиторие) на Spring4. Чем ближе к концу набора на стажировку — тем выше вероятность того, что я такие решения буду отправлять на доработку без попыток запустить.
IceGrayX
Как узнать прошел или нет?
IceGrayX
Уже понял)
dwajot
Поздравляем. Вы зарегистрированы на реальный проект. УРА-УРА!!!:)
silent
Проверил все решения, отправленные с 14.11 по 17.11.
Кто прошел — тому должно прийти письмо что Вы зачислены на стажировку.
Кто не прошел — я лично каждому написал замечания. Если что-то в замечаниях не понятно — пишите, объясню. Присылайте решения с исправлениями.

Следующий раз сяду проверять тестовые решения 12.11.
IceGrayX
Может кто-нибудь подсказать в связи с чем возникает такая ошибка?


Вот код методов:
@RequestMapping(value = "/users/edit", method = RequestMethod.GET)
    public String getEdit(@RequestParam(value="id", required=true) Integer id, Model model) {
        model.addAttribute("userAttribute", userService.getUser(id));
        return "editpage";
    }

    @RequestMapping(value = "/users/edit", method = RequestMethod.POST)
    public String saveEdit(@ModelAttribute("userAttribute") User user, @RequestParam(value="id", required=true) Integer id, Model model) {
        user.setId(id);
        userService.editUser(user);
        model.addAttribute("id", id);
        return "editedpage";
    }


Еще пробовал сделать такие методы:
@RequestMapping(value = "/users/edit/{id}", method = RequestMethod.GET)
    public String getEdit(@PathVariable("id") Integer id, ModelMap modelMap) {
        modelMap.put("userAttribute", userService.getUser(id));
        return "editpage";
    }

    @RequestMapping(value = "/users/edit", method = RequestMethod.POST)
    public String getEdit(@ModelAttribute("userAttribute") User user) {
        userService.editUser(user);
        return "editedpage";
    }


Однако, возникает другая ошибка:

incognito
Если я правильно понимаю, ошибка в значении value в jsp. Попробуйте использовать <c:param> Посмотрите здесь https://www.tutorialspoint.com/jsp/jstl_core_param_tag.htm Тогда Ваш первый вариант контроллера должен сработать.
IceGrayX
Спасибо, но не помогло(
nci
  • nci
  • 0
  • Комментарий отредактирован 2016-11-18 01:08:10 пользователем nci
del
noxior
  • noxior
  • 0
  • Комментарий отредактирован 2016-11-19 14:19:16 пользователем noxior
помогите пожалуйста. поставил tomcat, все прописал, нормально запускается, но окошко где должно появляться Authentication required, не появляется, это то окно где надо ввести пароль и логин который был прописан в users.xml. Повторюсь, нету самого окна! один раз оно появилось в chrome, и потом пробовал в internet explorer, в последующие запуски/перезапуски tomacat, больше данное окошко не появуляется… страница сразу идет на 403 Access Denied
noxior
  • noxior
  • 0
  • Комментарий отредактирован 2016-11-19 14:25:32 пользователем noxior
обнаружил ошибку в users.xml, исправил, и теперь заходит в manager App, но без формы заполнения логина и пароля? И это не хром хромает 100%! Форма заполнения пароля все так же не появляется
noxior
  • noxior
  • 0
  • Комментарий отредактирован 2016-11-20 19:06:54 пользователем noxior
прошлые проблемы решил…

у меня три вопроса:
1) имеет ли значение какие поля у таблицы? или вольное представление?
2) можно ли при выполнении пользоваться mysql workbench?
3) при разработке и вобще при работе в жизни, в реальных проэктах с mysql, пользуются mysql workbench? или чем то другим? просто стоит ли привыкать к ней и дальше использовать?
silent
Добрый день.
1. Поля таблицы на Ваше усмотрение. Требования два: должно быть поле типа даты и поле логического типа (булево).
2. Можно, а зачем? Если для создания тестовых данных — то используйте. Лично мне удобнее добавить датасорс в ИДЕЕ, и работать из нее.
3. На сколько я знаю, MySQL не часто используют как бесплатную БД. У нас она выбрана так как самая простая. Чаще выбирают из бесплатных Postgres, так как синтаксис ближе к Oracle Database.
Для работы с MySQL можно использовать SQLyoug. Для многих, в том числе MySQL, можно использовать Toad. Еще раз обращаю внимание, что это мое личное мнение.
noxior
по поподу датасорс поподробнее пожалуйста… куда добавить, что добавить?
я так понял это уже готовый файл с базой данных mysql?
silent
В ИДЕЕ справа и слева есть панели. В правой панели (по дефолту) есть вкладка Database
A_G
Database Tools, SQL доступны только на Ultimate версии IDE :(
noxior
млаааа, ты тоже проект делаешь? только начал?) я целый день потратил на то чтобы понять что у меня с идеей не так и почему нчиего не работает толком… и это все было из-за не полной версии( переходи ка на Ultimate… времени будешь экономить море, гарантирую!)

P.S. встроенную бд все равно не стал пробовать)
Max_T
  • Max_T
  • 0
  • Комментарий отредактирован 2016-11-21 00:37:30 пользователем Max_T
Добрый день
Подскажите, что не так, почему не запускается. При открытии страницы выдает такую ошибку:
root cause
java.lang.NoSuchMethodError: org.hibernate.Session.createQuery(Ljava/lang/String;)Lorg/hibernate/query/Query;
com.springapp.mvc.dao.UserDaoImpl.listUsers(UserDaoImpl.java:56)
com.springapp.mvc.service.UserServiceImpl.listUsers(UserServiceImpl.java:49)

При этом, если закоментить этот кусок кода, то программа запускается (без отображения списка юзеров), но зато можно успешно добавлять их в базу данных.
Подозреваю, что проблема в зависимостях. Но как и что добавлять — так и не разобрался.
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.springapp</groupId>
    <artifactId>UserManager</artifactId>
    <packaging>war</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>UserManager</name>


     <properties>
    <java-version>1.8</java-version>
    <org.springframework-version>4.0.3.RELEASE</org.springframework-version>
    <org.aspectj-version>1.7.4</org.aspectj-version>
    <org.slf4j-version>1.7.5</org.slf4j-version>
    <hibernate.version>4.3.5.Final</hibernate.version>
</properties>

     <dependencies>
     <!--  Spring
  -->
     <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>${org.springframework-version}</version>
     <exclusions>
    <!--  Exclude Commons Logging in favor of SLF4j
  -->
     <exclusion>
    <groupId>commons-logging</groupId>
    <artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
     <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>${org.springframework-version}</version>
</dependency>
     <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-tx</artifactId>
    <version>${org.springframework-version}</version>
</dependency>
     <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <version>4.2.1.RELEASE</version>
    <scope>test</scope>
</dependency>
     <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-orm</artifactId>
    <version>${org.springframework-version}</version>
</dependency>
     <!--  Hibernate
  -->
     <dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>${hibernate.version}</version>
</dependency>
     <dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-entitymanager</artifactId>
    <version>${hibernate.version}</version>
</dependency>
     <!--  Apache Commons DBCP
  -->
     <dependency>
    <groupId>commons-dbcp</groupId>
    <artifactId>commons-dbcp</artifactId>
    <version>1.4</version>
</dependency>
     <!--  Logging
  -->
    <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>${org.slf4j-version}</version>
</dependency>
     <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>jcl-over-slf4j</artifactId>
    <version>${org.slf4j-version}</version>
    <scope>runtime</scope>
</dependency>
    <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>${org.slf4j-version}</version>
    <scope>runtime</scope>
</dependency>
     <dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.15</version>
    <exclusions>
    <exclusion>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
</exclusion>
     <exclusion>
    <groupId>javax.jms</groupId>
    <artifactId>jms</artifactId>
</exclusion>
    <exclusion>
    <groupId>com.sun.jdmk</groupId>
    <artifactId>jmxtools</artifactId>
</exclusion>
     <exclusion>
    <groupId>com.sun.jmx</groupId>
    <artifactId>jmxri</artifactId>
</exclusion>
</exclusions>
    <scope>runtime</scope>
</dependency>
     <!--  Servlet
  -->
    <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
    <scope>provided</scope>
</dependency>
     <dependency>
    <groupId>javax.servlet.jsp</groupId>
    <artifactId>jsp-api</artifactId>
    <version>2.1</version>
    <scope>provided</scope>
</dependency>
     <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>
    <!--  Test
  -->
    <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.7</version>
    <scope>test</scope>
</dependency>
    <!-- MysQL
  -->
     <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.36</version>
</dependency>
     </dependencies>


    <build>
        <finalName>Users</finalName>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <includes>
                        <include>**/*Tests.java</include>
                    </includes>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
Exidnus
Max_T
Спасибо за подсказку. Но похоже, что это не мой случай.
У меня Spring4, а не третий.
github.com/MaxTem/Project
Exidnus
А хибернейт — четвертый. Попробуйте пятый использовать.
Max_T
Прописал в <hibernate.version></hibernate.version> пятую версию. Не помогло — все та же ошибка.
Exidnus
clean install после этого делали?
Max_T
Нет. А как это можно сделать? В гугле что-то ничего не вижу относительно clean install проекта в Intelij Idea…
Exidnus
Это в мавене.
Max_T
Спасибо, этот этап успешно преодолен.
Yuri_0504
Удали папку lib в своем проекте и сделай ребилд
Max_T
Спасибо за совет. Ребилд произвел успешно.
Yuri_0504
спасибо в карман не положишь ;)
Andrew_027
Привет всем! Сижу целый день пытаюсь прикрутить поиск хотя бы по id. Есть метод в контроллере, который отображает информацию об одном пользователе.
@RequestMapping("userdata/{id}")
    public String userData(@PathVariable("id") int id, Model model)
    {
        model.addAttribute("user", this.userService.getUserById(id));
        return "userdata";
    }

Он используется в списке пользователей, если нажать на конкретного юзера так:
<a href="/userdata/${user.id}" target="_blank">${user.name}</a>

Не могу никак прикрутить это все к поиску.
<h1>Search User</h1>


<form action="/userdata/${id}">
    <label for="id">ID:</label>

    <input type="number" id="id" name="id" placeholder="id"/>
    
    

    <input type="submit" value="send"/>

</form>

Помогите пожалуйста, как сделать, чтобы он id брал из формы ввода?
d0wn
вы почти у цели…
я не смог прикрутить поиск через /userdata/{id} — подозреваю, потому что уже ранее был описан такой же урл для печати из базы на стартовую пагу… а может просто не докрутил.
в итоге я принял концептуальное решение дать новый уникальный урл типа /search, сделал для этого нового поискового функционала новое представление (view) в виде search.jsp (куда почти под копирку скопировал код из userdata.jsp), вроде взлетело ))
остальной ваш код, похоже, тот же самый…
d0wn
а айдишник у вас, кстати, скорее всего передается — просто контроллер не отрабатывает вам страницу с нужной инфой — тут нужно «покомбинировать» мальца))
Andrew_027
спасибо, была идея так сделать. сделал. Но открывается страница search/?id=2(если ищу 2), а там ошибка HTTP Status 404 — /search/. Нормально открывается по search/2.
как победить это? пробовал @RequestMapping("/search/?id={id}"). не работает.
Andrew_027
если у кого то будет такая же проблема, ответ: вместо @PathVariable надо использовать @RequestParam и "/search/" без {id}
d0wn
вы — настоящий комбинатор)))
поздравляю с успехом)

для справки:
@interface PathVariable — используется, если аргумент для нашего метода «вшит» в урл, и тогда нам нужно как-то «выцапать» наш id-аргумент из урла как в примере ниже:

@GetMapping("/owners/{ownerId}")
public String findOwner(@PathVariable String ownerId, Model model) {
    Owner owner = ownerService.findOwner(ownerId);
    model.addAttribute("owner", owner);
    return "displayOwner";
}


@interface RequestParam - означает, что параметр для нашего метода «вшит» где-то в запросе веб-формы. Тогда нам не надо парсить урл, попросим request param выцапать аргумент, вбитый в веб-форму веб-юзером, как в примере:

public String setupForm(@RequestParam("petId") int petId, ModelMap model) {
      Pet pet = this.clinic.loadPet(petId);
        model.addAttribute("pet", pet);
        return "petForm";
    }
Andrew_027
спасибо за разъяснения!)
d0wn
  • d0wn
  • 0
подскажите, плз
1 — кто будет выдавать ключи для ультиматум версии идеи — григорий кислин или наши родные джаварашовцы?
2 — можно ли этот единый ключ использовать два раза — на ноуте и на домовой версии? и третий раз на идее под убунту?

спасибо)
silent
1. Ключи от ИДЕИ будет выдавать Григорий Кислин.
2. Точно можно если не одновременно. Если ИДЕЯ одновременно открыта на разных устройствах — не знаю.
silent
Проверил все решения, отправленные с 17.11 по 21.11.
Кто прошел — тому должно прийти письмо что Вы зачислены на стажировку.
Кто не прошел — я лично каждому написал замечания. Если что-то в замечаниях не понятно — пишите, объясню. Присылайте решения с исправлениями.

Следующий раз сяду проверять тестовые решения 23.11 (или 22.11 — если количество решений на проверку будет 20+ штук).
noxior
а как люди узнают какую версию разных dependency в maven подключать? то есть для разных dependency существует многообразие версий…
Yuri_0504
  • Yuri_0504
  • 0
  • Комментарий отредактирован 2016-11-22 00:53:55 пользователем Yuri_0504
Maven контролирует коллизии между dependancies, а так решайте сами какую версию использовать
Mindal
В IDEA в файле pom.xml, после нажми ctrl+space и он покажет все доступные версии, как правило рекомендуется брать последнюю
nci
Последнюю c типом RELEASE!
А то у тебя может работать, а у проверяющего… не факт
Я после замечания SILENT-a подправил спринг на такое:
<version>RELEASE</version>
noxior
  • noxior
  • 0
  • Комментарий отредактирован 2016-11-23 00:55:15 пользователем noxior
помогите с датой, как ee создать в java проекте, как создать в базе данных, и как потом отображать, совсем немогу нагуглить что к чему(((
nci
Дату у меня в приложении пользователь руками не пишет и не редактирует(очень часто из за этого ошибки, прикручивать что либо красивое для работы с датой — лучше после создания приложения, если время останется), в обоих случаях(create, update) вызывал
date=new Date();
В проекте я так делал:
модель:
@Column(name = "createDate")
    @DateTimeFormat(pattern = "dd-MMM-yyyy  HH:mm") //для красоты отображения на web-странице
    private Date date;

в базе создавал как обычную переменную (в workbench тип DATETIME(1) ), в скрипте подправил на такое и прошло:
CREATE TABLE IF NOT EXISTS `user` (
 ...
  `createDate` DATETIME,
 ...
silent
  • silent
  • 0
  • Комментарий отредактирован 2016-11-23 19:19:44 пользователем silent
Проверил все решения, отправленные с 21.11 по 23.11.
Кто прошел — тому должно прийти письмо что Вы зачислены на стажировку.
Кто не прошел — я лично каждому написал замечания. Присылайте решения с исправлениями.

Следующий раз сяду проверять тестовые решения 25.11 — это будет последняя проверка.
Решения принимаются до 12-00 по UTC-0 (до 15-00 по MSK)
Yuri_0504
Получается, что 25.11 шансов исправить уже не будет. Можно сказать, на что обратить внимание перед отправкой, может есть стандартные для всех замечания?
silent
Начиная со вчера я принимал решения, даже если в нем есть мелкие недоделки.
Мелкими я считаю такие проблемы, которые я в состоянии исправить за 10 минут, чтобы приложение работало. Пример мелкой проблемы: неправильный маппинг сервлета, или нет скрипта наполнения БД, или неправильно задана схема БД, логин и пароль для подключения к БД, не задана упаковка в war.
Приемлемый вариант — нет поиска или пейджинга. Такие решения я в пятницу буду принимать, так как понимаю, что времени на исправления нет, а на стажировку попасть хочется. Но должен предупредить — если человек не в состоянии справиться с этим тестовым заданием — на стажировке будет сложно.
Еще один вариант, который я приму, если он работает — это нарушение архитектуры. Должны быть Модель, ДАО, Сервис и Контроллер. Если нет какого-то слоя приложения — это нарушение архитектуры.
Неприемлемый вариант: вместо MySQL использована другая БД, при решении не использован Spring, отправлена ссылка на чужой репозиторий, или я не смог запустить приложение за 10-15 минут.
Yuri_0504
Блин только увидел кнопку «Зарегистрироваться», надеюсь вы проверите мою заявку :(
silent
проверю)
Yuri_0504
Спасибо!!!

Блин, в 6-ть утра все закончил, вставил ссылку, а кнопку не нажал :(
Ну не идиот ли!
Yuri_0504
Подскажите еще пожалуйста, а фидбек по задаче будет только в случае каких-то проблем, или вы в любом случае краткое резюме дадите?
silent
только в случае проблем, и только, если я решение проверял до 23.11. После 23.11 я сам исправлял мелкие баги в Ваших решениях и принимал такие решение.

Конкретно в Вашем решении не завелся Spring-boot, но решение отработало, когда я сделал деплой артифакта через Идею в Томкет
Yuri_0504
Спасибо!
А как воспроизвести эту ошибку? Скачать репозиторий и попробовать собрать проект Spring BOOT из командной строки?
jackill
У меня проблема, при запуске приложения вылетает ошибка HTTP Status 500 — Request processing failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Could not open connection.

Что это может быть, подскажите пожалуйста.
Yuri_0504
Нет соединения с базой данных.
noxior
  • noxior
  • 0
  • Комментарий отредактирован 2016-11-24 18:22:39 пользователем noxior
дайте кто-то пример подобной системы с бд, ссылку или мб скрин, как должно все выглядить и наибольшим количеством разных фич, типо удалить, создать… хочу потренироваться когда будет больше времени, и знать к чему стремиться)
PodKrepkimCh
Надеюсь я успел, и попаду на проверку. Гит сильно притормозил, вылетала ошибка при пуше на гитхаб.
noxior
оооо, даааа… тоже убил на возню с git'ом 2 часа( это вобще был провал( тоже вот сижу миниторю…
на javarush в реальном проекте пишет «Вы успешно подали заявку на участие в реальном проекте. Ваша заявка находится в статусе „Проверка“»… все правильно? туда смотреть надо?)
noxior
ох, смотреть о принятии заявки все таки не туда надо)
kazakovmj
а куда смотреть?
noxior
После проверки Вашего задания. Результат будет выслан Вам на почту, туда же и приглашение в слак.
Если будут вопросы по тестовому, задавайте в этом топике.
noxior
мля, вот отослал вам сообщение и теперь сижу думаю, а правильно ли я написал адрес?)
PodKrepkimCh
ппц, я адрес забыл изменить во время отправки. Ту почту взломали.
Изменил, но только сейчас, с суточным запозданием.
Кому писать, чтобы письмо перенаправили. И я если что мог зарегиться.
Обидно будет не попасть из-за невнимательности.
noxior
silent'у однозначно…
PodKrepkimCh
Кнопка регистрации активируется после проверки?
Naissur
Скажите, если я оплатил аккаунт со стажировкой перед майской стажировкой, но так и не поучаствовал, смогу ли я еще поучаствовать в предстоящей весенней стажировке?
dennisdennis
Сообщите пожалуйста график стажировок на 2017 год, мне необходимо принять решение покупать ли сейчас платный аккаунт и успею ли я пройти необходимые уровни к стажировке.
erizo
Подскажите, отправил тестовое 2 дня назад на проверку. Пока нет ответа.
ferasinka
Внимание!!! Набор на зимнюю онлайн стажировку закончен.
Ориентировочно следующий набор начнется в феврале 2017 года.
silent
Проверять отправленные тестовые задания буду когда начнется набор на весеннюю стажировку
emmalkov
Подскажите есть инфа по дате начала весенней стажировки, насколько я понял ее хотят запустить уже в бете… Запустили бы набор в конце февраля, чтобы успеть основной курс пройти, а ребят...?
Yuri_0504
Если ничего не поменяется, то стажировка в марте, набор в феврале. Я бы начинал не спеша делать тестовое и учить Spring/Hibernate.
emmalkov
В том то и дело что не понятно как жить дальше… Я только зашел на 30-й уровень, скачал задание, и теперь не знаю, то ли забросить курс и ускоряться в решении задания, если набор объявят сегодня-завтра или двигаться дальше по уровням, и параллельно не спеша, вникать и делать задание, т.к. пока как учил товарищ silent пишу простейшее приложение Hello World с использованием Spring :)
Yuri_0504
Я бы с 30-го уровня плотно садился на изучение фреймворков и прочего, остальные уровни никуда не денутся, их можно и потом пройти, а без хороших знаний фреймворков на работу тяжело в JavaEE устроится.
emmalkov
Юрий, подскажите, а для выполнения задания IDEA обязательно должна быть Ultimate у меня сейчас Community в ней в принципе можно задание выполнить?
Silent пишет
Один из вариантов как создать проект в IDEA: Create new project -> Spring -> Spring MVC. Дальше вводите group-id и artifact-id. В результате у вас есть веб-проект Hello world на Spring-MVC
а у меня в Create new project -> Springа нет видимо такая возможнось есть только Ultimate…
Yuri_0504