Wenn Sie ein gutes Verständnis für HTML, CSS und JavaScript haben, haben Sie ein Gespür für viele Leute, die am Ende Webentwicklung betreiben. Die Konzepte hinter JSP sind PHP sehr ähnlich. Die Macken sind unterschiedlich. Ein Servlet ist der Name für einen Teil des Java-Codes, der eine Anforderung bedient. Das ist es wirklich. Das gesamte ursprüngliche Struts-Framework war ein einzelnes Servlet.
Ich würde Tomcat oder Jetty zu Ihrer Liste der zu lernenden Technologien hinzufügen . Tomcat ist die ursprüngliche Java-Servlet-Container-Implementierung und zufällig auch ein voll ausgestatteter und recht beliebter Webserver. GlassFish baut darauf auf. Ich habe in meinen neueren Projekten Jetty anstelle von Tomcat verwendet, weil es einfacher, flexibler und schneller ist. Jetty wurde entwickelt, um Webdienste im Gegensatz zu Webanwendungen bereitzustellen. Eine Webanwendung ist jedoch nur ein Webdienst, der HTML-Code als Antwort auf HTTP-Rohanforderungen bereitstellt. Wenn Sie also HTTP verstehen (das Sie in wenigen Stunden bis zu einem Tag in wichtigen Teilen erlernen können), ist es sehr einfach, damit zu arbeiten.
Sie können eine kleine Website mit Tomcat und JSP ( Tutorial hier oder JSF) erstellen, die genau wissen, was Sie wissen, und einige Stunden damit verbringen, Tutorials durchzuarbeiten. Auf diese Weise können Sie dort beginnen, wo Sie sich wohl fühlen, bevor Sie sich ausstrecken. Erstellen Sie dann ein javax.servlet.http.HttpServlet , das "<html> <head> <title> Hallo </ title> </ head> <body> <h1> Hallo Welt </ h1> </ body> </ html" schreibt > "zum Antwortobjekt, listen Sie es in Ihrer Tomcat-Datei web.xml auf und senden Sie eine HTTP-Anfrage über einen Webbrowser. Das ist kein Hexenwerk. Alle Java-Webframeworks sind Variationen dieser beiden grundlegenden Aktivitäten.
Wenn Sie die Anlegestellenroute wählen, ist sie noch weniger strukturiert. Schauen Sie sich dieses Hello Jetty- Beispiel an.
Wenn Sie nur ein Blog oder eine Standard-E-Commerce-Site erstellen möchten , würde ich mit SquareSpace oder Wordpress oder so beginnen. Sie bekommen so viel von der Stange, dass es keine Möglichkeit mehr gibt, eine benutzerdefinierte Codierung zu rechtfertigen.
Die Stärke von Java für Webanwendungen liegt in seiner Zuverlässigkeit, Wartbarkeit und Leistung. PHP oder Ruby / Rails ist einfacher, aber Java lässt sich beliebig skalieren. Ich bin nicht begeistert von den Java-Webframeworks. Wenn Sie ein Team von Mitarbeitern haben, die an einer großen Webanwendung arbeiten, oder wenn Sie Hibernate verwenden möchten, dann ist ein Framework wie Spring wirklich hervorragend. Frühling ist der beliebteste. Wenn Sie mit Servlets und JSP / JSF vertraut sind, erfahren Sie, wie Spring diese mit einem Datenmodell verknüpft.
Wenn Sie ein Blog oder ein Content-Management-System erstellen, können Sie vielleicht mit einer NoSQL-Datenbank davonkommen. Ich würde jedoch argumentieren, dass NoSQL-Datenbanken im Grunde genommen nur eine Caching-Ebene in einem Dateisystem sind, anstatt relationale Datenbanken zu ersetzen. Ich denke, es ist selten, dass ein Projekt, das gut zu einer NoSQL-Datenbank passt, für die Entwicklung in Java geeignet ist.
Dinge, die noch benutzerdefinierten, leistungsstarken Code benötigen (in Java, PHP, was auch immer), werden wahrscheinlich eine relationale / SQL-Datenbank haben, die sie antreibt. Ich würde Ihnen empfehlen, sich zunächst mit SQL und JDBC (Java Database Connectivity) vertraut zu machen. Wenn Sie mit der Welt der Java-Objekte und der Welt der relationalen Datenbanken und SQL vertraut sind, können Sie Ebean / JPA (Java Persistence API) / ORM (Object to Relational Mapping) erlernen, das die Objektwelt mit der relationalen Welt verbindet.
ORMs sind knifflig und komisch. Die meisten sind irgendwann den Kampf wert. Ebean ist die einfachste, die ich kenne. Ich fühle mich nach 8 Monaten wohler damit als nach 12 Jahren mit Hibernate. Ich kenne eine Menge Leute, die Spring mit Hibernate verwenden, und sie scheinen keine Probleme zu haben oder sich sogar besonders darüber im Klaren zu sein, was Hibernate ist oder tut. Deshalb würde ich sagen, wenn Sie Hibernate verwenden, tun Sie es durch den Frühling. Vielleicht, nur weil ich schon länger damit gearbeitet habe, habe ich es geschafft, Hibernate mit ein paar Hash-Maps zum Testen komplett auszuschalten, was fantastisch ist (Übersicht auf Anfrage erhältlich).
Sie haben bereits einige der wichtigsten Fähigkeiten. Nimm die anderen nacheinander und versuche nicht überfordert zu werden.