Попытался повторить этот урок, не получилось
@Dazar, попробуйте пройтись по этому курсу. Он немного устаревший, но для общего представления сгодится. Разжевано хорошо.
Дальше расширяйте полученную базу:
при создании веб-приложения можно использовать spring, hibernate.
Spring хорош при создании любых приложений. Посмотрите из каких модулей состоит спринг (для начала Spring Context, Spring Data, Spring Web, Spring Security), какие способы конфигурации существуют (xml, аннотации, java-бины, groovy-скрипт). Разберитесь, для чего вообще нужен IoC.
Попробуйте разные стили в Hibernate (Criteria API и HQL). Узнайте, что помимо хибера есть и другие ORM. Понаступайте на грабли, чтобы понять, что зачастую проще использовать чистый JDBC и SQL запросы.
В любом проекте сложнее хелоуворлд неплохо было бы использовать Maven.
Разберитесь с жизненным циклом сборки в maven, с тем как он ресолвит зависимости и какие они бывают (snapshot/release, test/compile/provided/system). Посмотрите какие плагины к нему существуют, поиграйтесь с ними. Откройте для себя и другие системы сборки (ant у стариков и gradle у модников).
Если вас интересует web, поищите на хабре статьи по ключевым словам web, spring.
есть такая штука, как Java EE, и про неё нужно тоже всё знать
Спорно. Я вот не знаю про нее все и живу спокойно. Но для кругозора попробовать нужно.
UPD: а, да, ещё забыл про тесты.
Научитесь для начала использовать JUnit. Это де-факто стандарт. Потом можно попробовать и TestNG и окунуться в волшебный мир mocking-библиотек (Mockito, JMockit).