web-dev-qa-db-de.com

Java EE Webentwicklung, wo fange ich an und welche Fähigkeiten brauche ich?

Ich möchte zumindest auf einer grundlegenden Ebene lernen, wie man Java Webanwendungen aus einem .NET-Hintergrund) erstellt. Ich möchte in der Lage sein, einen einfachen CMS-Typ zu erstellen und bereitzustellen Anwendung von Grund auf.

Was genau muss ich lernen?

Tomcat scheint ein guter Webserver für Java zu sein.

Welche Möglichkeiten gibt es für das Web? Ich weiß, dass es Ruhezustand für einen ORM gibt.

Hat Java hat MVC? Was ist mit JSP ? Können MVC und JSP zusammen sein? NetBeans ?

Vielleicht ein Buch, das all das behandelt?

212
mrblah

(Aktualisiert im September 2018)

Was genau muss ich lernen?

Ich gehe davon aus, dass Sie bereits mit clientseitigen Technologien wie [~ # ~] html [~ # ~] , [~ # ~] css vertraut sind [~ # ~] und [~ # ~] js [~ # ~] , damit ich nicht näher darauf eingehen werde. Ich gehe auch davon aus, dass Sie mit grundlegendem Java bereits vertraut sind. Befolgen Sie Oracle's The Java Tutorials und holen Sie sich, wenn möglich, ein OCA-Buch oder einen Kurs.

Anschließend können Sie mit JSP/Servlet beginnen und die grundlegenden Konzepte der Java - Webentwicklung erlernen. Gute Tutorials finden Sie in Oracle's Java EE 5 Tutorial Teil II, Kapitel 3 - 8 und bei Coreservlets.com ( Beginner-Intermediate und Advanced, auch JDBC ). Beachten Sie, dass seit Java EE 6 JSP zugunsten von JSF aus dem Java EE-Lernprogramm entfernt wurde und sich JSP seitdem im Wesentlichen nicht geändert hat. Aus diesem Grund können Sie das relativ alte Java EE 5-Tutorial verwenden. Das Wichtigste in Bezug auf JSP ist, dass das Schreiben von einfachem Java Code in JSP-Dateien mit <% - Scriptlets %> Seit 2003 offiziell verboten ist. 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 führen, in der Sie schlechte Praktiken erlernen.

Wir haben auch nette Wiki-Seiten über [~ # ~] jsp [~ # ~] , Servlets , [~ # ~] jstl [~ # ~] und [~ # ~] el [~ # ~] , wo Sie das Wesentliche lernen und finden können nützlichere Links.


Tomcat scheint ein guter Webserver für Java zu sein.

Es ist. Die Möglichkeiten sind jedoch begrenzt. Es handelt sich im Grunde genommen um einen Barebones-Servlet-Container, der nur die JSP/Servlet-Teile der riesigen EE-API Java implementiert. Wenn Sie jemals zu EJB oder JPA gehen möchten, möchten Sie eine andere auswählen, z. 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 Barebones-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?


Ich weiß, dass es einen Ruhezustand für einen ORM gibt.

Zuvor, während der J2EE-Ära, als JPA nicht existierte und EJB2 schrecklich war, war Hibernate ein eigenständiges Framework und wurde oft in Kombination mit Spring verwendet, um EJB zu ersetzen. Seit der Einführung von JPA in Java EE 5 (2006) ist Hibernate eine JPA-Implementierung. Sie können JPA unter Java EE Tutorial Teil VIII lernen. Außerdem wurde EJB3 basierend auf den Lehren aus dem Frühjahr erheblich verbessert. Siehe auch Wann ist es notwendig oder zweckmäßig, 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 Rads , wenn es darum geht, das Modell mit der Ansicht zu verknüpfen (Konvertierung, Validierung) , Hörer wechseln, etc). Java Das MVC-Framework von EE heißt [~ # ~] jsf [~ # ~] . Vor Java EE 6 wurde es unter JSP ausgeführt, einer älteren View-Technologie. JSP wurde durch Facelets ersetzt. Sie können JSF in Java EE Tutorial Teil III Kapitel 7 - 17 lernen. Sie können JSF übrigens auch auf Tomcat verwenden, Sie müssen es nur separat installieren. Installationsanweisungen finden Sie auf der Mojarra-Homepage . WildFly, TomEE, Payara, Liberty, WebLogic usw. stellen als vollständige Java EE-Implementierung bereits JSF (und CDI, BV, JSONP, JAX-RS, EJB, JPA usw.) zur Verfügung muss nicht separat installiert werden. Siehe auch Wie installiere und konfiguriere ich JSF-Bibliotheken über Maven?


Vielleicht ein Buch, das all das behandelt?

Es gibt mehrere Bücher. Ich würde empfehlen, mit einem Buch zu beginnen, das sich auf Java EE im Allgemeinen konzentriert, ein Buch , das sich mehr auf JSF konzentriert, und ein Buch , das sich mehr mit JPA befasst. Stellen Sie sicher, dass Sie das aktuellste Buch zum Thema ausgewählt haben. Also kein altes Buch für Java EE 5 oder JSF 1.0 oder so.

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 zum Beispiel Roseindia, Tutorialspoint, Javabeat, Journaldev, Javatpoint, Codejava usw. Sie sind durch störende Werbelinks leicht erkennbar. Banner und JSP-Code-Schnipsel mit Scriptlets .

Siehe auch:

250
BalusC

Was genau muss ich lernen?

Minimal,

  • Java die Sprache
  • Java die API, einschließlich JDBC für den Datenbankzugriff
  • Eine IDE oder ein Texteditor + Ant
  • Java EE, im Grunde Servlets und JSP
  • Ein Servlet-Container (wie z. B. Tomcat)

Tomcat scheint ein guter Webserver für Java zu sein.

Es ist "anständig". Wenn Sie nicht in EJBs sind, 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 handelt sich um einen Servlet-Container (dh, er kann Apps mithilfe der Servlet-Technologie ausführen).

Welche Möglichkeiten gibt es für das Web?

Über zig verschiedene Frameworks. Es ist wirklich "schwierig", sich für einen zu entscheiden. Es ist sehr verlockend, sie alle auszuprobieren, aber letztendlich nicht machbar.

Ich weiß, dass es für ein ORM einen Ruhezustand gibt.

Ich bin etwas gegen ORM, aber Sie benötigen den Ruhezustand, wenn Sie einen "vollständigen" ORM benötigen. Sie können auch "partielle" ORMs ausprobieren, z. B. die JDBC-Unterstützung von Spring oder iBatis.

Hat Java hat MVC? Was ist mit JSP? Können MVC und JSP zusammen sein? Beans?

Ja, die meisten Java Web Frameworks machen MVC. Spring's MVC ist nett, aber ich kann nichts anderes empfehlen (besonders nicht Struts 1!). JSP ist nur ein HTML (oder XML) Template Engine. JSP der alten Schule 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. Bei einigen können Sie auch etwas anderes verwenden (Velocity, Freemarker usw.).

Bohnen ist nur eine Konvention für Objekte. Grundsätzlich bedeutet dies, dass Sie Getter und Setter (oder einige Alternativen) verwenden und einige Regeln befolgen. Diese sollten Ihr Objekt mit bestimmten Werkzeugen manipulieren lassen. Das typische Beispiel ist eine GUI. Mit einigen Tools können Sie GUI-Komponenten zum Bearbeiten beliebiger Beans erstellen (d. H. Sie rendern ein Formular zum Bearbeiten der Felder).

28
alex

Sie benötigen HTML, CSS und JavaScript - alle üblichen Verdächtigen für die Webentwicklung.

In Tomcat ist zwar ein Webserver integriert, aber es ist eine Servlet/JSP-Engine. Apache ist der reine Webserver.

Sie müssen JSP lernen, eine Template-Sprache 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 sich mit JDBC und relationalen Datenbanken vertraut machen. Sie sollten dies tun, bevor Sie Hibernate oder ein anderes ORM ausprobieren, da es die Grundlage ist, auf der sie aufgebaut sind.

JavaBeans sind nur Standards für Java Objekte.

Wenn Sie dazu bereit sind, würde ich das Spring-Framework empfehlen.

16
duffymo

Hat Java MVC?

Java hat verschiedene Frameworks wie Struts2, Spring MVC

was ist mit JSP?

[~ # ~] jsp [~ # ~] ist eine Vorlagenbibliothek. Es gibt nur wenige Alternativen, die Sie ausprobieren können, wie FreeMarker und Velocity. AFAIK Freemarker ist eine gut aufkommende Template-Bibliothek. Es ist leichter als [~ # ~] jsp [~ # ~]. Überprüfen Sie dies FreeMarker: Eine offene Alternative zu JSP - JavaWorld

kann MVC und JSP zusammen sein?

Ich nehme MVC als ein 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 hat eine sehr gute Unterstützung für Freemarker.

bohnen?

Ich weiß nicht viel darüber. Mit Beans können wir Formulardaten jedoch direkt Datenbanken zuordnen.

Vielleicht ein Buch, das all das behandelt?

Jedes Framework hat ein eigenes Buch. Für Struts2 - Struts 2 in Aktion

String MVC - Sehen Sie sich diese Fragen an, in denen Sie Bücher für Spring und Spring MVC empfehlen. Buchvorschlag für Spring Framework und Spring Books: Welches Buch soll ich wählen?

Fremarker hat eine sehr gute Dokumentation - FreeMarker Manual

Für den Einstieg in die Webentwicklung in Java -

alt text

http://www.Amazon.com/SCWCD-Exam-Study-Kit-Certification/dp/1930110596

13
Xinus

Ich halte die meisten traditionellen Java Webentwicklungsoptionen für ziemlich schwer und es gibt einige gute Alternativen:

  • Play ist ein MVC-Framework, das sich darauf konzentriert, leicht, unkompliziert und schnell zu entwickeln. Dabei bleibt es bei reinem Java, im Gegensatz zu einer dynamischeren JVM-basierten Sprache. Es ist ziemlich neu, aber schon beeindruckend, und es hat sich schnell eine gute Community gebildet.

  • Grails ist ein MVC-Framework, das von Ruby on Rails) inspiriert ist und Groovy ein Java-basiertes Scripting verwendet Grails ist ausgereift, robust und weithin anerkannt, mit einer starken Community. Groovy ist im Grunde eine Obermenge von Java mit einer besseren Syntax und einigen großartigen Funktionen wie Closures.

  • Wenn Sie RESTful-Websites/-Dienste/-Anwendungen erstellen möchten, ist Restlet ein fantastisches Framework - ich bin ein großer Fan. Es ist einfach, unkompliziert und doch flexibel. Tolle Community auch.

  • Googles App Engine ist auch 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 andere gibt, aber diese sind es, an die ich auf Anhieb denken kann.

Viel Glück und hab Spaß!

5
Avi Flax

Ich bin ein PHP/C-Programmierer und fand es großartig, in Java zu springen, ohne alle Klassen und Paradigmen zu lernen, die der Programmierung inhärent sind Java) Groovy ermöglichte es mir, schnell produktiv zu sein, während ich mir die Zeit nahm, mehr über Java und alle verfügbaren Tools/Frameworks/Bibliotheken zu erfahren.

3
mr-sk

Wenn Sie nicht mit HTML, CSS, XML, Javascript usw. arbeiten möchten.

Try Vaadin Framework, es ist gut dokumentiert, leicht zu erlernen und ermöglicht es, auf einfache Weise eine gut aussehende Benutzeroberfläche zu erstellen. (schreibe einfach Java Code, natürlich brauchst du einen Servlet-Server, Tomcat oder Jetty sind in Ordnung)

3
mokrzu

Besser lernst du Java. Dann lernst du Servlets und JSP. Dann gehst du für MVC zu Struts oder Spring oder einem anderen Java/Java-fähigen Framework.

2
SIVAKUMAR.J

Da Sie neu in Java) sind, empfehle ich Ihnen dringend, zuerst die Basissprache zu lernen. Dies wird Ihnen helfen, unabhängig von der Technologie, in der Sie Ihre Webanwendung ausführen.

Eine gute Online-Ressource ist das Sun Java Tutorial - http://Java.Sun.com/docs/books/tutorial/