Jeśli dobrze znasz HTML, CSS i JavaScript, masz dużą wiedzę na temat wielu osób, które kończą tworzenie stron internetowych. Koncepcje JSP są bardzo podobne do PHP. Dziwactwa są różne. Aplet to nazwa fragmentu kodu Java obsługującego żądanie. To jest naprawdę. Cały oryginalny framework Struts był pojedynczym serwletem.
Dodałbym Tomcat lub Jetty do twojej listy technologii do nauki. Tomcat jest oryginalną implementacją Java Servlet Container i jest również w pełni funkcjonalnym i dość popularnym serwerem WWW. GlassFish jest na nim zbudowany. Używam Jetty zamiast Tomcat w moich nowych projektach, ponieważ jest to prostsze, bardziej elastyczne i szybsze. Jetty został zaprojektowany do tworzenia usług internetowych w przeciwieństwie do aplikacji internetowych. Ale aplikacja internetowa to tylko usługa internetowa, która obsługuje HTML w odpowiedzi na surowe żądania HTTP, więc jeśli rozumiesz HTTP (którego możesz nauczyć się ważnych części w ciągu kilku godzin dziennie), bardzo łatwo z nim pracować.
Możesz zrobić małą stronę internetową za pomocą Tomcat i JSP ( samouczek tutaj lub JSF) wiedząc, co wiesz i spędzając kilka godzin na ćwiczeniach. W ten sposób możesz zacząć od wygodnej pozycji przed rozciąganiem. Następnie utwórz javax.servlet.http.HttpServlet, który napisze „<html> <head> <title> Hi </title> </head> <body> <h1> Hello World </h1> </body> </ html > ”do obiektu odpowiedzi, umieść go w pliku web.xml Tomcat i wyślij żądanie HTTP z przeglądarki internetowej. To nie czarna magia. Wszystkie frameworki Java są odmianami tych dwóch podstawowych działań.
Jeśli pójdziesz drogą Jetty, jest ona jeszcze mniej uporządkowana. Sprawdź przykład Hello Jetty .
Jeśli masz zamiar zrobić blog lub standardową stronę e-commerce, zacznę od SquareSpace lub Wordpress lub czegoś takiego. Dostajesz tyle z półki, że nie ma już uzasadnienia niestandardowego kodowania.
Siłą języka Java dla aplikacji internetowych jest jego niezawodność, łatwość konserwacji i wydajność. PHP lub Ruby / Rails są prostsze, ale Java będzie skalować tyle, ile chcesz. Żadne frameworki Java nie dają się zaskoczyć. Jeśli masz zespół ludzi pracujących nad dużą aplikacją internetową lub musisz użyć Hibernacji, wtedy środowisko takie jak Spring naprawdę świeci. Wiosna jest najpopularniejsza. Jeśli znasz trochę serwletów i JSP / JSF, dowiedz się, jak Spring wiąże je z modelem danych.
Jeśli tworzysz blog lub system zarządzania treścią, być może uda Ci się uciec z bazą danych NoSQL. Twierdziłbym jednak, że bazy danych NoSQL są w zasadzie tylko warstwą buforującą w systemie plików, a nie zastępują relacyjne bazy danych. Myślę, że rzadko zdarza się, aby projekt dobrze pasujący do bazy danych NoSQL był odpowiedni do opracowania w Javie.
Rzeczy, które nadal wymagają niestandardowego, wysokowydajnego kodu (w Javie, PHP, cokolwiek), prawdopodobnie będą miały zasilającą je relacyjną / SQL bazę danych. Polecam najpierw zapoznać się z podstawową znajomością SQL i JDBC (Java Database Connectivity). Po zaznajomieniu się ze światem obiektów Java oraz światem relacyjnych baz danych i SQL, możesz nauczyć się Ebean / JPA (Java Persistence API) / ORM (Object to Relational Mapping), który łączy świat obiektów ze światem relacyjnym.
ORM są trudne i dziwne. Większość jest ostatecznie warta walki. Ebean jest najprostszy, jaki znam. Czuję się bardziej komfortowo po 8 miesiącach niż w Hibernacji po 12 latach. Znam wielu ludzi, którzy używają Spring z Hibernacją i nie wydają się mieć żadnych problemów, a nawet nie są szczególnie świadomi tego, czym jest Hibernacja lub co robi, więc powiedziałbym, że jeśli zamierzasz użyć Hibernacji, zrób to przez wiosnę. Być może właśnie dlatego, że pracowałem z tym dłużej, udało mi się całkowicie wyeliminować Hibernację z kilkoma mapami skrótu do testowania, co jest niesamowite (przegląd dostępny na żądanie).
Masz już najważniejsze umiejętności. Weź innych po kolei i staraj się nie dać się przytłoczyć.