Я в этом году защитил на отлично дипломную работу - интернет-магазин на Java. Перед написанием проекта прочел пару книг по Java. Первая книга о Java Core - Шилдт "Java. Полное руководство". Но я думаю, что Эккель и Хорстманн подойдут еще лучше, как альтернатива. Вторая книга - Буди Курняван "Программирование web-приложений на языке Java" познакомит тебя с сервлетами, JSP и JDBC. Это компоненты Java, с помощью которых разрабатываются веб-приложения. В книге описаны достаточно старые методы работы, но это на мой взгляд лучшее, что есть на русском. Если неплохо знаешь английский, то в идеале можно ее заменить "Murach's Java Servlets and JSP, 3rd Edition". Это классика по сервлетам. Также я неплохо знал html, css и jQuery, что пригодилось мне для разработки фронтенда для магазина, а также был небольшой опыт работы с СУБД MySQL. Все остальные вопросы, которые появлялись в процессе, решал с помощью форумов и stackOverflow. При проектировании архитектуры приложения брал за основу Spring MVC -
javastudy.ru/wp-content/uploads/2015/04/RequestLif...
В итоге технологии, которые были использованы - это Java, Servlets, JSP, JSTL, JDBC, MySQL, HTML, CSS, jQuery, bootstrap, Tomcat, Maven и jUnit для написания тестов. Конечно таким способом веб-приложения писали лет 10-15 назад, но я не стал задействовать фреймворки принципиально, чтобы разобраться в том, как работают веб-приложения на Java без них. Написав такой проект ты сможешь понять принцип работы такого фреймворка, как Spring MVC.
Я остался очень доволен что не стал писать дипломный проект на php, как планировал ранее. Я получил отличный опыт и у меня была огромная мотивация для интенсивного изучения Java! Желаю успешно защититься! :)