(Aktualisiert März 2020)
Zunächst wurde "Java EE" seit September 2019 ab Version 8 in " Jakarta EE " umbenannt . Historisch gesehen gab es auch den Begriff "J2EE", der die Versionen 1.2 bis 1.4 abdeckte. Das "Java EE" deckte die Versionen 5 bis 8 ab. Siehe auch Java Platform, Enterprise Edition, Verlauf auf Wikipedia .
Was genau muss ich lernen?
Ich gehe davon aus, dass Sie bereits mit clientseitigen Technologien wie HTML , CSS und JS vertraut sind , daher werde ich darauf nicht näher eingehen. Ich gehe auch davon aus, dass Sie bereits mit grundlegendem Java vertraut sind. Befolgen Sie die Java-Tutorials von Oracle und holen Sie sich nach Möglichkeit auch ein OCP-Buch oder einen OCP- Kurs.
Anschließend können Sie mit JSP / Servlet beginnen, um die grundlegenden Konzepte der Java-Webentwicklung zu erlernen. Gute Tutorials finden Sie in den Java EE 5-Tutorials von Oracle, Teil II, Kapitel 3 - 8 und auf Coreservlets.com ( Anfänger-Fortgeschrittene und Fortgeschrittene, auch JDBC ). Beachten Sie, dass JSP seit Java EE 6 zugunsten von JSF aus dem Java EE-Lernprogramm entfernt wurde und dass sich JSP seitdem grundsätzlich nicht geändert hat. Aus diesem Grund können Sie das ziemlich alte Java EE 5-Tutorial sicher verwenden. Das Wichtigste in Bezug auf JSP ist die Tatsache, dass das Schreiben von einfachem Java-Code in JSP-Dateien mithilfe von <%
Scriptlets %>
seit 2003 offiziell nicht empfohlen wird. Siehe auch Wie vermeide ich Java-Code in JSP-Dateien? Daher sollten alle Tutorials, die sich noch mit Scriptlets befassen, übersprungen werden, da sie Sie definitiv in eine Abwärtsspirale des Lernens schlechter Praktiken führen.
Hier auf Stack Overflow finden Sie auch schöne Wiki-Seiten zu JSP , Servlets , JSTL und EL, auf denen Sie das Wesentliche lernen und weitere nützliche Links finden können.
Tomcat scheint ein guter Webserver für Java zu sein.
Es ist. Es ist jedoch in den Fähigkeiten begrenzt. Es handelt sich im Grunde genommen um einen Barebone-Servlet-Container, der nur die JSP / Servlet-Teile der riesigen Java EE-API implementiert. Wenn Sie jemals EJB oder JPA wählen möchten, möchten Sie eine andere auswählen, z. B. WildFly , TomEE , Payara , Liberty , WebLogic usw. Andernfalls müssen Sie Spring anstelle von Java EE verwenden. Es ist nämlich nicht möglich, EJB in einem Barebone-Servlet-Container zu installieren, ohne die Core-Engine zu ändern. Im Falle von Tomcat würden Sie TomEE grundsätzlich neu erfinden. Siehe auch Was genau ist Java EE? , Wie installiere und konfiguriere ich JSF-Bibliotheken ordnungsgemäß über Maven? und Wie installiere und verwende ich CDI auf Tomcat?
Ich weiß, dass es für einen ORM einen Ruhezustand gibt.
Zuvor, während der J2EE-Ära, als JPA nicht existierte und EJB2 schrecklich war, war Hibernate ein eigenständiges Framework und wurde häufig in Kombination mit Spring verwendet, um EJB zu ersetzen. Seit der Einführung von JPA in Java EE 5 (2006) ist Hibernate zu einer JPA-Implementierung geworden. Sie können JPA im Jakarta EE Tutorial Teil VIII lernen . Außerdem wurde EJB3 aufgrund der Lehren aus dem Frühjahr erheblich verbessert. Siehe auch Wann ist es notwendig oder bequem, Spring oder EJB3 oder alle zusammen zu verwenden?
Hat Java MVC? Was ist mit JSP? Können MVC und JSP zusammen sein? JavaBeans?
Sie können , aber das ist eine Menge Neuerfindung des Rades, wenn es darum geht, das Modell mit der Ansicht zu verknüpfen (Konvertierung, Validierung, Ändern von Listenern usw.). Das MVC-Framework von Java EE heißt JSF . Vor Java EE 6 wurde es unter JSP ausgeführt, einer ziemlich älteren Ansichtstechnologie. JSP wurde durch Facelets ersetzt . Sie können JSF im Jakarta EE Tutorial Teil III Kapitel 7 - 17 lernen . Sie können JSF übrigens auch unter Tomcat verwenden, Sie müssen es nur separat installieren. Installationsanweisungen finden Sie auf der Mojarra-Homepage. WildFly, TomEE, Payara, Liberty, WebLogic usw. bieten als vollständige Java EE-Implementierung bereits JSF (und CDI, BV, JSONP, JAX-RS, EJB, JPA usw.), sodass Sie dies nicht benötigen Installieren Sie es separat. Siehe auch So installieren und konfigurieren Sie JSF-Bibliotheken ordnungsgemäß über Maven.
Vielleicht ein Buch, das all dies behandelt?
Es gibt mehrere Bücher. Ich würde empfehlen, mit einem Buch zu beginnen, das sich allgemein auf Jakarta EE konzentriert , einem Buch, das sich mehr auf JSF konzentriert , und einem Buch, das sich mehr auf JPA konzentriert . Stellen Sie sicher, dass Sie das aktuellste Buch zum Thema auswählen. Untersuchen Sie zuerst die aktuellste verfügbare Version und stellen Sie dann sicher, dass das ausgewählte Buch dies abdeckt. Wählen Sie daher definitiv kein altes Buch für Java EE 5 oder JSF 1.0 oder so aus, solange derzeit bereits Jakarta EE 8 und JSF 2.3 verfügbar sind.
Zu guter Letzt ignorieren Sie bitte Code-Snippet-Scraping-Sites, die von Amateuren gepflegt werden und deren Hauptaugenmerk auf Werbeeinnahmen statt auf Unterricht liegt, wie Roseindia, Tutorialspoint, Javabeat, Journaldev, Javatpoint, Codejava usw. Sie sind leicht durch störende Werbelinks / zu erkennen Banner und JSP-Codefragmente mit Scriptlets .
Siehe auch:
Minimal,
Es ist "anständig". Wenn Sie sich nicht für EJBs interessieren, müssen Sie wahrscheinlich nichts anderes lernen. Glassfish 3 scheint in letzter Zeit ziemlich cool zu sein, aber ich habe noch nicht viel damit gespielt. Beachten Sie, es ist "mehr" als ein Webserver. Es ist ein Servlet-Container (dh er kann Apps mithilfe der Servlet-Technologie ausführen).
Über zig verschiedene Frameworks. Wirklich, eine zu wählen ist wirklich "schwierig". Es ist sehr verlockend, sie alle auszuprobieren, aber letztendlich nicht durchführbar.
Ich bin etwas gegen ORM, aber Ruhezustand ist das, was Sie brauchen, wenn Sie ein "volles" ORM benötigen. Sie können auch "teilweise" ORMs ausprobieren, z. B. die JDBC-Unterstützung von Spring oder iBatis.
Ja, die meisten Java-Webframeworks verwenden MVC. Spring's MVC ist nett, aber ich kann nichts anderes empfehlen (besonders nicht Struts 1!). JSP ist nur eine HTML- (oder XML-) Vorlagen-Engine. Old-School-JSP mit eingebettetem Java-Code ist uncool. moderne JSP mit Tag-Dateien und Bibliotheken ist ziemlich gut.
Ich nehme an, in den meisten Frameworks können Sie JSP verwenden, um Ihre Vs zu rendern. Spring's MVC und Struts tun es. Bei einigen können Sie auch etwas anderes verwenden (Velocity, Freemarker usw.).
Bohnen sind nur eine Konvention für Objekte. Grundsätzlich bedeutet dies, dass Sie Getter und Setter (oder einige Alternativen) verwenden und einige Regeln befolgen. Mit diesen sollte Ihr Objekt von bestimmten Werkzeugen manipuliert werden können. Das typische Beispiel ist eine GUI. Mit einigen Tools können Sie GUI-Komponenten zum Bearbeiten beliebiger Beans erstellen (dh sie rendern ein Formular zum Bearbeiten der Felder).
quelle
Sie benötigen HTML, CSS und JavaScript - alle üblichen Verdächtigen für die Webentwicklung.
In Tomcat ist zwar ein Webserver integriert, es handelt sich jedoch um eine Servlet- / JSP-Engine . Apache ist der reine Webserver.
Sie müssen JSP lernen, eine Vorlagensprache zum Generieren von Servlets, die HTML-Ausgaben generieren. Sie sollten sie mit JSTL schreiben, nicht mit Scriptlets.
Wenn Sie CRUD-Anwendungen ausführen, müssen Sie JDBC und relationale Datenbanken kennenlernen. Sie sollten dies tun, bevor Sie Hibernate oder ein anderes ORM ausprobieren, da dies die Grundlage ist, auf der sie basieren.
JavaBeans sind nur Standards für Java-Objekte.
Wenn Sie dazu bereit sind, würde ich das Spring-Framework empfehlen.
quelle
Java hat verschiedene Frameworks wie Struts2 , Spring MVC
JSP ist eine Vorlagenbibliothek. Es gibt nur wenige Alternativen, die Sie ausprobieren können, wie FreeMarker und Velocity . AFAIK Freemarker ist eine aufstrebende, gute Vorlagenbibliothek. Es ist leichter als JSP . Überprüfen Sie diesen FreeMarker : Eine offene Alternative zu JSP - JavaWorld
Ich nehme MVC als zuvor erwähntes Framework. Alle Frameworks unterstützen JSP, Sie müssen jedoch die Unterstützung für andere Vorlagenbibliotheken in der jeweiligen Framework-Dokumentation überprüfen. AFAIK Struts2 to hat eine sehr gute Unterstützung für Freemarker.
Ich weiß nicht viel darüber. Mit Beans können wir Formulardaten jedoch direkt Datenbanken zuordnen.
Jedes Framework hat ein eigenes Buch. Für Struts2 - Struts 2 in Aktion
String MVC - Sehen Sie sich diese Fragen an und empfehlen Sie Bücher für Spring und Spring MVC. Buchvorschlag für Spring Framework und Spring Books: Welches zur Auswahl
Fremarker hat eine sehr gute Dokumentation - FreeMarker Manual
Für den Einstieg in die Webentwicklung in Java -
http://www.amazon.com/SCWCD-Exam-Study-Kit-Certification/dp/1930110596
quelle
Ich halte die meisten traditionellen Java-Webentwicklungsoptionen für ziemlich schwer, und es gibt einige gute Alternativen:
Play ist ein MVC-Framework, das darauf ausgerichtet ist, leichtgewichtig, unkompliziert und schnell zu entwickeln - und dabei auf reinem Java zu bleiben, im Gegensatz zu einer dynamischeren JVM-basierten Sprache. Es ist ziemlich neu, aber bereits beeindruckend, und es hat sich schnell eine gute Community aufgebaut.
Grails ist ein MVC-Framework, das von Ruby on Rails inspiriert wurde und in Groovy , einer Java-basierten Skriptsprache , geschrieben ist und diese verwendet . Grails ist ausgereift, robust und weithin anerkannt, mit einer starken Gemeinschaft. Groovy ist im Grunde eine Obermenge von Java mit einer besseren Syntax und einigen großartigen Funktionen wie Schließungen. Das Erlernen ist also eine großartige Möglichkeit, Java zu lernen.
Wenn Sie RESTful-Websites / -Dienste / -Anwendungen erstellen möchten / möchten, ist Restlet ein fantastisches Framework - ich bin ein großer Fan. Es ist einfach, unkompliziert und dennoch flexibel. Tolle Community auch.
Die App Engine von Google ist ebenfalls eine interessante Option. Es wird gehostet, was vielleicht von Interesse ist oder nicht, aber es hat eine ziemlich einfache API und ein gutes SDK.
Ich bin mir sicher, dass es noch andere gibt, aber diese sind es, an die ich auf Anhieb denken kann.
Viel Glück und hab Spaß!
quelle
Ich bin ein PHP / C-Programmierer und habe festgestellt, dass ich mit Groovy in Java springen kann, ohne alle Klassen und Paradigmen zu lernen, die der Java-Programmierung innewohnen. Mit Groovy konnte ich schnell produktiv sein und mir Zeit nehmen, um mehr über Java und alle verfügbaren Tools / Frameworks / Bibliotheken zu erfahren.
quelle
Wenn Sie nicht mit HTML, CSS, XML, Javascript usw. arbeiten möchten.
Probieren Sie das Vaadin- Framework aus, es ist gut dokumentiert, leicht zu erlernen und ermöglicht auf einfache Weise eine gut aussehende Benutzeroberfläche. (Schreiben Sie einfach Java-Code, natürlich benötigen Sie einen Servlet-Server, Tomcat oder Jetty sind in Ordnung.)
quelle
Besser lernen Sie Java. Dann lernen Sie Servlets und JSP. Dann gehen Sie für MVC zu Struts oder Spring oder einem anderen Java / Java-fähigen Framework.
quelle
Da Sie neu in Java sind, würde ich Ihnen dringend empfehlen, zuerst die Basissprache zu lernen. Dies hilft Ihnen unabhängig davon, in welcher Technologie Sie Ihre Webanwendung ausführen.
Eine gute Online-Ressource ist das Sun Java Tutorial - http://java.sun.com/docs/books/tutorial/
quelle