Якщо ви добре розумієте HTML, CSS та JavaScript, у вас багато людей, які в кінцевому підсумку займаються веб-розробкою. Концепції JSP дуже схожі на PHP. Примхи різні. Сервлет - це назва фрагмента коду Java, який обслуговує запит. Це справді. Весь оригінальний фреймворк Струтса був єдиним сервлетом.
Я б додав Tomcat або Jetty до вашого списку технологій, які потрібно вивчити. Tomcat - оригінальна реалізація контейнера Java Servlet Container, яка також є повнофункціональним і досить популярним веб-сервером. GlassFish побудований поверх нього. Я використовував Jetty замість Tomcat у своїх нових проектах, тому що це простіше, гнучкіше та швидше. Jetty був розроблений для створення веб-служб на відміну від веб-додатків. Але веб-додаток - це лише веб-сервіс, який обслуговує HTML у відповідь на необмежені запити HTTP, тому якщо ви розумієте HTTP (з якого ви можете дізнатися важливі частини за кілька годин до дня), працювати з цим дуже просто.
Ви можете зробити невеликий веб-сайт, використовуючи Tomcat та JSP ( навчальний посібник тут або JSF), знаючи лише те, що ви знаєте, і витративши кілька годин на підручники. Таким чином ви можете почати там, де вам зручно, перш ніж розтягуватися. Потім зробіть javax.servlet.http.HttpServlet, що пише "<html> <head> <title> Привіт </title> </head> <body> <h1> Hello World </h1> </body> </ html > "до об'єкта відповіді, перерахуйте його у своєму Tomcat web.xml та відправте HTTP-запит із веб-браузера. Це не ракетна наука. Усі веб-рамки Java є варіантами цих двох основних видів діяльності.
Якщо ви йдете маршрутом Jetty, він ще менш структурований. Перевірте цей приклад Hello Jetty .
Якщо ви просто збираєтеся робити блог або стандартний сайт електронної комерції, я б почав з SquareSpace або Wordpress чи ще чогось. Ви отримуєте стільки з полиці, що вже немає жодного способу виправдати спеціальне кодування.
Сила Java для веб-додатків - її надійність, ремонтопридатність та продуктивність. PHP або Ruby / Rails простіше, але Java буде масштабувати стільки, скільки ви хочете. Мене не охоплює жодна з веб-рамок Java. Якщо у вас є команда людей, які працюють над великим веб-додатком, або вам потрібно використовувати сплячку, тоді така структура, як Весна, дійсно сяє. Весна - найпопулярніша. Коли ви знайомите з сервлетами та JSP / JSF, то дізнайтеся, як Весна пов’язує їх разом із моделлю даних.
Якщо ви створюєте блог або систему управління вмістом, можливо, ви можете піти з бази даних NoSQL. Але я заперечую, що бази даних NoSQL - це в основному лише кешуючий шар у файловій системі, а не заміна реляційних баз даних. Я думаю, що рідко проект, який добре підходить для бази даних NoSQL, буде доречним розробляти в Java.
У речах, які все ще потребують користувацького високоефективного коду (на Java, PHP і будь-якому іншому), ймовірно, буде створена реляційна / SQL база даних. Я рекомендую вам спочатку ознайомитись із SQL та JDBC (Java Database Connectivity). Після того, як вам сподобається світ об'єктів Java та світ реляційних баз даних та SQL, ви можете вивчити Ebean / JPA (Java Persistent API) / ORM (Object to Relational Mapping), який з'єднує об'єктний світ із реляційним світом.
ОРМ складні і дивні. Більшість зрештою варта боротьби. Ebean - це найпростіший, кого я знаю. Мені це зручніше після 8 місяців, ніж мені в сплячку після 12 років. Я знаю дуже багато людей, які використовують Spring with Hibernate, і вони, схоже, не мають жодних проблем, або навіть особливо знають, що таке або робить Hibernate, тому я б сказав, якщо ви збираєтесь використовувати Hibernate, зробіть це через Весну. Можливо, тому, що я працював з ним довше, мені вдалося повністю вимкнути сплячку з парою хеш-карт для тестування, що є приголомшливим (огляд доступний на запит).
Ви вже маєте кілька найважливіших навичок. Візьміть інших по черзі і намагайтеся не перевантажуватись.