(Zaktualizowano mar 2020)
Przede wszystkim „Java EE” od września 2019 r. Przemianowano na „ Jakarta EE ”, począwszy od wersji 8. Historycznie istniał również termin „J2EE”, który obejmował wersje 1.2 do 1.4. „Java EE” obejmowało wersje od 5 do 8. Zobacz także Java Platform, Enterprise Edition, History na Wikipedii .
Czego dokładnie muszę się nauczyć?
Zakładam, że znasz już technologie po stronie klienta, takie jak HTML , CSS i JS , więc nie będę się tym zajmował. Zakładam również, że znasz już podstawową Javę. Postępuj zgodnie z samouczkami Java firmy Oracle, a jeśli to możliwe, zdobądź także książkę lub kurs OCP .
Następnie możesz zacząć od JSP / Servlet, aby nauczyć się podstawowych pojęć związanych z tworzeniem stron internetowych Java. Dobre samouczki można znaleźć w samouczku Oracle EE 5 część II rozdziały 3–8 oraz na stronie Coreservlets.com (dla początkujących i średnio zaawansowanych i zaawansowanych, także JDBC ). Zwróć uwagę, że od Java EE 6 JSP jest usuwany z samouczka Java EE na rzecz JSF i od tego czasu JSP zasadniczo się nie zmienił. Dlatego w tym celu możesz bezpiecznie użyć dość starego samouczka Java EE 5. Najważniejsze w odniesieniu do JSP jest to, że od 2003 r. Oficjalnie odradza się pisanie zwykłego kodu Java w plikach JSP za pomocą <%
skryptletów %>
. Zobacz także Jak uniknąć kodu Java w plikach JSP? Tak więc wszelkie samouczki, które nadal obejmują skrypty, powinny zostać pominięte, ponieważ na pewno poprowadzą cię w dół spirali uczenia się złych praktyk.
Tutaj na Stack Overflow możesz także znaleźć ładne strony wiki o JSP , serwletach , JSTL i EL, gdzie możesz nauczyć się podstawowych rzeczy i znaleźć bardziej przydatne linki.
Tomcat wydaje się być dobrym serwerem WWW dla Javy.
To jest. Ma jednak ograniczone możliwości. Zasadniczo jest to pusty kontener serwletów, implementujący tylko części JSP / Servlet ogromnego API Java EE. Jeśli kiedykolwiek chcesz przejść na EJB lub JPA, wybierz inny, np. WildFly , TomEE , Payara , Liberty , WebLogic itp. W przeciwnym razie musisz użyć Spring zamiast Java EE. Nie jest możliwe zainstalowanie EJB w pustym pojemniku serwletu bez modyfikacji silnika podstawowego, tak jak w przypadku Tomcat w zasadzie wymyśla się TomEE. Zobacz także Czym dokładnie jest Java EE? , Jak poprawnie zainstalować i skonfigurować biblioteki JSF przez Maven? oraz Jak zainstalować i używać CDI na Tomcat?
Wiem, że istnieje hibernacja dla ORM.
Wcześniej, w erze J2EE, gdy JPA nie istniało, a EJB2 było okropne, Hibernate był samodzielnym frameworkiem i często używany w połączeniu z Springem w celu wyparcia EJB. Od czasu wprowadzenia JPA w Javie EE 5 (2006) Hibernate stało się implementacją JPA. Możesz nauczyć się JPA w samouczku Jakarta EE część VIII . Ponadto EJB3 został znacznie ulepszony w oparciu o wnioski wyciągnięte z wiosny. Zobacz także Kiedy jest konieczne lub wygodne używanie Spring, EJB3 lub wszystkich z nich jednocześnie?
Czy Java ma MVC? Co z JSP? Czy MVC i JSP mogą być razem? JavaBeans?
Możesz , ale to wiele nowych odkryć koła, jeśli chodzi o wiązanie modelu z widokiem (konwersja, sprawdzanie poprawności, zmiana słuchaczy itp.). Struktura MVC Java EE nosi nazwę JSF . Przed wersją Java EE 6 działała na JSP, która jest dość starszą technologią widoku. JSP został zastąpiony przez Facelets . Możesz nauczyć się JSF na samouczku Jakarta EE część III rozdziały 7 - 17 . Nawiasem mówiąc, możesz także użyć JSF na Tomcat, musisz tylko zainstalować go osobno. Instrukcje instalacji można znaleźć na stronie głównej Mojarra. WildFly, TomEE, Payara, Liberty, WebLogic itp. Jako kompletna implementacja Java EE już zapewniają JSF (i CDI, BV, JSONP, JAX-RS, EJB, JPA itp.) Od razu po wyjęciu z pudełka, więc nie musisz zainstaluj osobno. Zobacz także Jak poprawnie zainstalować i skonfigurować biblioteki JSF przez Maven?
Może książka, która obejmuje je wszystkie?
Jest kilka książek. Poleciłbym zacząć od książki skupionej ogólnie na Dżakarcie EE , książki bardziej skoncentrowanej na JSF i książki bardziej skoncentrowanej na JPA . Upewnij się, że wybierasz najnowszą książkę na ten temat. Najpierw sprawdź najnowszą dostępną wersję, a następnie upewnij się, że wybrana książka to obejmuje. Dlatego zdecydowanie nie wybieraj starej książki dla Java EE 5 lub JSF 1.0, podczas gdy jest już dostępna Jakarta EE 8 i JSF 2.3.
Wreszcie, należy zignorować witryny służące do skrobania fragmentów kodu prowadzone przez amatorów, które koncentrują się głównie na dochodach z reklam, a nie na nauczaniu, takich jak roseindia, tutorialspoint, javabeat, Journaldev, javatpoint, codejava itp. Można je łatwo rozpoznać po przeszkodach w linkach reklamowych / banery i fragmenty kodu JSP zawierające skryptlety .
Zobacz też:
Minimalnie,
Jest „przyzwoity”. Jeśli nie interesuje Cię EJB, prawdopodobnie nie będziesz musiał uczyć się niczego innego. Glassfish 3 wydaje się ostatnio całkiem fajny, ale jeszcze nie grałem z nim zbyt wiele. Uwaga: jest to „więcej” niż serwer WWW. Jest to kontener serwletu (co oznacza, że może uruchamiać aplikacje przy użyciu technologii serwletu).
O zillion różnych ram. Naprawdę, wybór jednego jest naprawdę „trudny”. Wypróbowanie ich wszystkich jest bardzo kuszące, ale ostatecznie niewykonalne.
Jestem trochę przeciwny ORM, ale Hibernacja jest tym, czego potrzebujesz, jeśli potrzebujesz „pełnego” ORM. Możesz także wypróbować „częściowe” ORM, takie jak obsługa JDBC Springa i iBatis.
Tak, większość frameworków Java obsługuje MVC. Spring MVC jest fajny, ale nie mogę polecić niczego innego (zwłaszcza nie Struts 1!). JSP to po prostu silnik szablonów HTML (lub XML). Oldschoolowy plik JSP z wbudowanym kodem Java nie działa; nowoczesny plik JSP z plikami znaczników i bibliotekami jest całkiem niezły.
Podejrzewam, że większość frameworków pozwoli ci używać JSP do renderowania twoich V; Wiosenne MVC i Struts. Niektóre pozwolą ci też użyć czegoś innego (Velocity, Freemarker itp.).
Fasola to tylko konwencja dla przedmiotów. Zasadniczo oznacza to, że używasz programów pobierających i ustawiających (lub niektórych alternatyw) i przestrzegasz pewnych zasad. Powinny one pozwolić twojemu obiektowi na manipulowanie przez niektóre narzędzia. Typowym przykładem jest GUI, niektóre narzędzia pozwalają budować komponenty GUI do edycji dowolnych komponentów bean (tzn. Wyświetlają formularz do edycji jego pól).
źródło
Potrzebujesz HTML, CSS i JavaScript - wszystkich zwykłych podejrzanych o tworzenie stron internetowych.
Tomcat ma wbudowany serwer WWW, ale jest to silnik serwletu / JSP . Apache to czysty serwer WWW.
Musisz nauczyć się JSP, który jest językiem szablonów do generowania serwletów generujących dane wyjściowe HTML. Będziesz chciał napisać je używając JSTL, a nie skryptletów.
Jeśli robisz aplikacje CRUD, musisz nauczyć się JDBC i relacyjnych baz danych. Powinieneś to zrobić przed wypróbowaniem Hibernacji lub innej ORM, ponieważ jest to fundament, na którym są zbudowane.
JavaBeans to tylko standardy dla obiektów Java.
Jeśli jesteś na to gotowy, poleciłbym Spring Framework.
źródło
Java ma różne frameworki, takie jak Struts2 , Spring MVC
JSP to biblioteka szablonów. Istnieje kilka alternatyw, które możesz wypróbować, takich jak FreeMarker i Velocity . AFAIK Freemarker to nowa biblioteka szablonów. Jest lekki niż JSP . Sprawdź ten FreeMarker : otwarta alternatywa dla JSP - JavaWorld
Traktuję MVC jako wspomniany wcześniej framework. Wszystkie frameworki mają obsługę JSP, ale należy sprawdzić obsługę innych bibliotek szablonów w dokumentacji odpowiednich frameworków. AFAIK Struts2 ma bardzo dobre wsparcie dla Freemarker.
Niewiele o tym wiem. Ale za pomocą fasoli możemy bezpośrednio mapować dane formularzy do baz danych.
Każda struktura ma swoją własną książkę. For Struts2 - Struts 2 in Action
String MVC - Spójrz na te pytania polecające książki na wiosnę i wiosnę MVC. Sugestie książkowe dla Spring Framework i Spring Books: Który wybrać
Fremarker ma bardzo dobrą dokumentację - Podręcznik FreeMarker
Aby rozpocząć tworzenie stron internetowych w Javie -
http://www.amazon.com/SCWCD-Exam-Study-Kit-Certification/dp/1930110596
źródło
Uważam, że większość tradycyjnych opcji programowania stron internetowych w języku Java jest dość ciężka i istnieje kilka dobrych alternatyw:
Play jest strukturą MVC, która koncentruje się na lekkości, prostocie i umożliwia szybki rozwój - przy jednoczesnym zachowaniu czystej Java, w przeciwieństwie do bardziej dynamicznego języka opartego na JVM. Jest dość nowy, ale już imponujący, a dobra społeczność szybko się wokół niego zbudowała.
Grails to framework MVC, zainspirowany Ruby on Rails, który jest napisany i używa Groovy , języka skryptowego opartego na Javie. Grails jest dojrzały, solidny i powszechnie szanowany, z silną społecznością. Groovy jest w zasadzie nadzbiorem Java, z lepszą składnią i kilkoma świetnymi funkcjami, takimi jak zamykanie, więc nauczenie się tego jest świetnym sposobem na naukę Java.
Jeśli potrzebujesz / chcesz zbudować strony / usługi / aplikacje RESTful , Restlet to fantastyczny framework - jestem wielkim fanem. To proste, proste, a jednocześnie elastyczne. Świetna społeczność też.
Ciekawą opcją jest również Google App Engine . Jest obsługiwany, co może, ale nie musi, być interesujące, ale ma dość prosty interfejs API i dobry zestaw SDK.
Jestem pewien, że są jeszcze inne, ale o tych myślach mogę myśleć bez końca.
Powodzenia i miłej zabawy!
źródło
Jestem programistą PHP / C i znalazłem świetną możliwość wskakiwania do Javy bez uczenia się wszystkich klas i paradygmatów związanych z programowaniem w Javie. Groovy umożliwił mi szybką produktywność, jednocześnie poświęcając trochę czasu, aby dowiedzieć się więcej o java i wszystkich dostępnych narzędziach / frameworkach / bibliotekach.
źródło
Jeśli nie chcesz pracować z HTML, CSS, XML, JavaScript itp.
Wypróbuj platformę Vaadin , jest dobrze udokumentowana, łatwa do nauczenia i umożliwia tworzenie dobrze wyglądającego interfejsu użytkownika w prosty sposób. (po prostu napisz kod Java, oczywiście potrzebujesz serwera serwletów, Tomcat lub Jetty będą w porządku)
źródło
Lepiej poznaj java. Następnie naucz się serwletów i JSP, a następnie przejdź do MVC, przejdź do Struts lub Spring lub dowolnego innego środowiska obsługującego java / java.
źródło
Ponieważ dopiero zaczynasz przygodę z Javą, zdecydowanie polecam najpierw naukę podstawowego języka. Pomoże Ci to bez względu na to, w jakiej technologii wybierzesz aplikację internetową.
Dobrym zasobem online jest samouczek Sun Java - http://java.sun.com/docs/books/tutorial/
źródło