Если вы хорошо разбираетесь в HTML, CSS и JavaScript, у вас есть возможность познакомиться со многими людьми, которые в конечном итоге занимаются веб-разработкой. Концепции JSP очень похожи на PHP. Причуды разные. Сервлет - это имя фрагмента кода Java, который обслуживает запрос. Это действительно так. Весь оригинальный фреймворк Struts представлял собой один сервлет.
Я бы добавил Tomcat или Jetty в ваш список технологий для изучения. Tomcat - это оригинальная реализация Java Servlet Container, которая также является полнофункциональным и довольно популярным веб-сервером. GlassFish построен поверх него. Я использовал Jetty вместо Tomcat в моих новых проектах, потому что это проще, гибче и быстрее. Jetty был разработан для создания веб-сервисов, а не веб-приложений. Но веб-приложение - это просто веб-служба, которая обслуживает HTML в ответ на необработанные HTTP-запросы, поэтому, если вы понимаете HTTP (который вы можете изучить важные части за несколько часов в день), с ним очень легко работать.
Вы можете создать небольшой веб-сайт с Tomcat и JSP ( учебник здесь или JSF), зная, что вы знаете, и потратив несколько часов на изучение учебников. Таким образом, вы можете начать, где вам удобно, прежде чем растягиваться. Затем создайте javax.servlet.http.HttpServlet, который пишет «<html> <head> <title> Hi </ title> </ head> <body> <h1> Hello World </ h1> </ body> </ html > "к объекту ответа, укажите его в своем веб-файле Tomcat и отправьте HTTP-запрос из веб-браузера. Это не ракетостроение. Все веб-платформы Java являются вариациями этих двух основных действий.
Если вы идете по маршруту Jetty, он еще менее структурирован. Посмотрите этот пример Hello Jetty .
Если вы только собираетесь сделать блог или стандартный сайт электронной коммерции, я хотел бы начать с Squarespace или Wordpress или что - то. Вы получаете столько с полки, что больше нет способа оправдать пользовательское кодирование.
Сильной стороной Java для веб-приложений является ее надежность, удобство обслуживания и производительность. PHP или Ruby / Rails проще, но Java будет масштабироваться настолько, насколько вы захотите. Я не поражен какой-либо из веб-фреймворков Java. Если у вас есть команда людей, работающих над большим веб-приложением, или вам нужно использовать Hibernate, то такая среда, как Spring, действительно сияет. Весна самая популярная. Если вы немного знакомы с сервлетами и JSP / JSF, узнайте, как Spring связывает их вместе с моделью данных.
Если вы ведете блог или систему управления контентом, возможно, вам не помешает база данных NoSQL. Но я бы сказал, что базы данных NoSQL - это просто слой кеширования в файловой системе, а не замена реляционных баз данных. Я думаю, что редко, когда проект, который хорошо подходит для базы данных NoSQL, подходит для разработки на Java.
Вещи, для которых все еще требуется пользовательский высокопроизводительный код (на Java, PHP и т. Д.), Вероятно, будут питать их от реляционной базы данных / базы данных SQL. Я бы рекомендовал вам сначала ознакомиться с SQL и JDBC (Java Database Connectivity). После того, как вы освоитесь с миром объектов Java, миром реляционных баз данных и SQL, вы можете изучить Ebean / JPA (API персистентности Java) / ORM (объектно-реляционное сопоставление), который связывает мир объектов с реляционным миром.
ОРМ хитры и странны. Большинство в конечном итоге стоит борьбы. Eese - самый простой из известных мне. Я чувствую себя более комфортно после 8 месяцев, чем в Hibernate после 12 лет. Я знаю многих людей, которые используют Spring с Hibernate, и у них, похоже, нет проблем, или они даже не особо осведомлены о том, что такое Hibernate или что делает, поэтому я бы сказал, что если вы собираетесь использовать Hibernate, сделайте это. через весну. Может быть, только потому, что я работал с ним дольше, мне удалось полностью заглушить Hibernate с парой хеш-карт для тестирования, что потрясающе (обзор доступен по запросу).
У вас уже есть некоторые из самых важных навыков. Берите остальных по одному и старайтесь не перегружаться.