Java Anfänger-Web-Entwicklungstoolkit / Umgebung

8

Ich wurde beauftragt, eine interaktive Website mit Java & Amp; mysql: Verwenden von Servlets zum Abrufen von & amp; Massendaten, Applets für die spezielle Behandlung der Daten auf der Client-Seite und Anfragen des Clients für verschiedene Datenansichten.

Was würden Sie als richtiges universelles Toolkit / Umgebung für Web-Entwicklung mit Java empfehlen?

Ich muss wissen, was ich für Folgendes verwenden soll:

  • Serverseite (tomcat? /?)
  • CMS
  • Editor / IDE
  • Allgemeine Tools / Dienstprogramme
  • Gerichtete (spezielle) Tools / Utilities
  • Test- und QA-Tools / Dienstprogramme / Techniken
  • Referenzmaterial (sowohl on- als auch offline)

Bitte bewerten Sie die vorgeschlagene (n) Lösung (en) und liefern Sie Alternativen / Verbesserungen / Support .

Vorgeschlagenes Java Web-Entwicklungs-Toolkit / Umgebung

Von cdb :

  • Serverseite:
      Tomcat6
  • CMS:
      Drupal (nicht notwendig in der Vorphase)
  • Editor / IDE:
      NetBeans (gut für einen Anfänger)
  • Allgemeine Tools:
      (Fast alles ist in NetBeans ... geh später dazu)
  • Gerichtet (Spezialzweck):
      (Fast alles ist in NetBeans ... geh später dazu)
  • Testen und QA:
      JUnit und benutze Firebug (mache zuerst manuelle Tests)
  • Referenzmaterial:
      HeadFirst Series auf JSP, JavaScript, etc.
      SCRIBD (online)
    [ bearbeiten ]
  • Framework:
    Spring Web MVC 2.5 - (< a href="https://stackoverflow.com/questions/1404115/selecting-a-good-framework-for-web-development"> dies scheint die meisten anderen Frameworks zu enthalten )

Optionen aus den Antworten destilliert

Serverseite

  • Apache Tomcat - "HTTP-Webserver-Umgebung für die Ausführung von Java-Code"
  • Jetty - "HTTP-Server, HTTP-Client und javax.servlet-Container"
  • GlassFish - Anwendungsserver (basierend auf Tomcat + mehr Funktionen)
  • JBoss - Anwendungsserver ("J2EE-basierter Anwendungsserver, implementiert in 100% Pure Java")

CMS

Editor / IDE

Allgemeine Tools / Dienstprogramme

  • Maven - ".. ein Tool, das jetzt zum Erstellen und Verwalten von Java-basierten Projekten verwendet werden kann."
  • log5j auch hier [SourceForge] - "Java-Logging-Bibliothek für Java-Versionen 5 und höher"

Gerichtete (spezielle) Tools / Dienstprogramme

  • CruiseControl - teambasiertes "Tool und ein erweiterbares Framework zum Erstellen eines benutzerdefinierten kontinuierlichen Buildprozesses"
  • Spring Framework (- Design)

Test- und QA-Tools / Dienstprogramme / -Techniken

  • Watij - "Java-API zur Automatisierung von Webanwendungen"
  • HtmlUnit - "Es modelliert HTML-Dokumente und bietet eine API, mit der Sie Seiten aufrufen, Formulare ausfüllen, auf Links klicken usw. "
  • Firebug - (Firefox) "Bearbeiten, Debuggen und Überwachen von CSS, HTML und JavaScript auf jeder beliebigen Webseite"
  • Hudson - "Softwareprojekte erstellen / testen [...] Überwachung von extern ausgeführten Jobs"
  • LiveHttpHeaders - view & amp; editieren Sie HTTP-Request-Header live
  • JUnit - "Framework um wiederholbare Tests zu schreiben"

Referenzmaterial (sowohl on- als auch offline)

slashmais 23.05.2017, 10:32
quelle

6 Antworten

4
  • Serverseite
    Tomcat6
  • CMS
    Drupal (nicht notwendig in der Prilim-Phase)
  • Editor / IDE
    NetBeans (gut für Anfänger)
  • Allgemeine Tools / Dienstprogramme
    (Fast alles ist in NetBeans ... geh später dazu)
  • Gerichtete (spezielle) Tools / Utilities
    (Fast alles ist in NetBeans ... geh später dazu)
  • Test- und QA-Tools / Hilfsprogramme / Techniken
    JUNIT und verwenden Sie FireBug (Zuerst manuell testen)
  • Referenzmaterial (sowohl on- als auch offline)
    HeadFirst Series auf JSP , JavaScript usw.
    SCRIBD (online)
Lucas Jones 21.07.2013, 01:54
quelle
3

Für die Web-Entwicklung verwende ich (und würde es empfehlen) Folgendes:

  • JSP / Servlet API
  • Spring MVC
  • JQuery
  • XHTML & amp; CSS
  • Fitnesse

Hinsichtlich der Ressourcen sind all diese Technologien auf ihren jeweiligen Websites gut dokumentiert, die einzige Ausnahme ist XHTML & amp; CSS, für das ich Ссылка vorschlagen würde.

In Bezug auf Editoren haben sowohl IntelliJ als auch (glaube ich) Eclipse sehr gute HTML-, CSS-, JSP- und JavaScript-Editoren.

Verwenden Sie auch Firefox (wie Brian vorgeschlagen hat) mit dem Web Developer Plugin und Firebug - beide sind unverzichtbar.

    
Nick Holt 07.09.2009 08:15
quelle
3

Tomcat und Jetty sind beide bekannte / unterstützte Servlet-Container. Wenn Sie ein Deployable für Kunden erstellen, möchten Sie möglicherweise beides testen, wenn Sie die Bereitstellung nicht steuern.

Zum Testen gehen Sie (zusammen mit Ihren normalen Unit-Test-Frameworks von JUnit / TestNG) Watij und / oder HtmlUnit . Dies ermöglicht es Ihnen, die tatsächlichen Web / Browser-Interaktionen zu automatisieren und Ihnen auf lange Sicht eine Welt der Trauer zu ersparen. Der Nachteil ist, dass Sie etwas Zeit in die Einrichtung Ihrer Tests investieren müssen.

Im Zusammenhang mit automatisierten Tests benötige ich ein automatisiertes Build / Continuous Integration System. In der Java-Welt gibt es unzählige. Zwei häufige sind CruiseControl und Hudson .

Für viele der obigen Fälle gelten Standard-Java / Entwicklungswerkzeuge, z. die "Standard" IDEs (Netbeans / Eclipse / Intellij - Intellij ist es wert, dafür zu bezahlen, btw). Das gleiche gilt für CMS und es gibt viele Ressourcen auf dieser Website über die Vor- / Nachteile von SVN / Git / Mercurial etc. Es ist zu prüfen, ob sich das von Ihnen gewählte CMS in Ihre IDE integriert.

Ich würde Firebug ausprobieren, um die Entwicklung zu vereinfachen (in Firefox). Es erleichtert die Frontend-Entwicklung erheblich. LiveHttpHeaders vereinfacht die Diagnose von Problemen im Zusammenhang mit HTTP-Übertragungen.

    
Brian Agnew 07.09.2009 08:22
quelle
3

CMS

  
  • Schildkröte SVN
  •   

Editor / IDE

  
  • Finsternis
  •   

Allgemeine Tools / Dienstprogramme

  
  • Maven (Tool zum Erstellen und Bereitstellen)
  •   
  • Geschwindigkeitsregelung
  •   
  • GWT / ext-GWT / ICEFaces - Webkomponententechnologie
  •   
  • Spring - Abhängigkeitsinjektionsrahmen
  •   
  • Ruhezustand - ORM
  •   
  • Axis 2.0-Webservice-Entwicklungskit
  •   
  • Jboss
  •   

Gerichtete (spezielle) Werkzeuge / Dienstprogramme

  
  • log5j - für die Protokollierung
  •   

Testen und QA-Tools / Dienstprogramme / Techniken

%Vor%

Referenzmaterial (sowohl on- als auch offline)

  
  • Java-Dokumente jeder der Technologien
  •   
  • Google natürlich:)
  •   
    
Cshah 07.09.2009 09:46
quelle
1

Versuchen Sie vcl.js ist alles in einem (Frontend und Backend) Enterprise-Web-Entwicklungstool,

  1. Visuelle Komponentenbibliothek - enthält Seite, Raster, Eingabe, Messanzeigen, Diagramme und vieles mehr
  2. Pures JavaScript
  3. Einzelseitenanwendung
  4. .Net-Backend
  5. Datenbindung
  6. Twitter Bootstrap
  7. Einfache Datenbankabfrageausführung
  8. Routing
  9. AMD - Modullader

Ich denke, die Idee ist, dass Sie jQuery, Sammyjs oder irgendeinen anderen Rahmen nicht lernen müssen

    
Nati Krisi 24.10.2013 05:12
quelle
0
  

Erster Absatz, der auf Anfrage von slashmais bearbeitet wurde: Diese Antwort stimmt nicht wirklich mit anderen und der umformulierten Frage überein. Es ist eher eine Ergänzung zu anderen Antworten.   Ich glaube, dass die persönlichen Präferenzen sehr wichtig sind, wenn man zwischen Technologien wählt. Ich sehe es als (mag) einige Dinge und die Auswahl der entsprechenden Technologien . Der Rest der Antwort gibt Beispiele:

Nehmen wir zum Beispiel an, dass die Aktionen des Entwicklers so oft wie möglich in Echtzeit überprüft werden sollten, um sofort Feedback zu erhalten, und wenn möglich auch Abschluss, und vermeiden Sie so viele Fehler. Dies (dis) liking bestimmt einige Vorlieben:

  • verwende eine statisch type Sprache (wie Java)
  • Verwenden Sie eine IDE, die während der Eingabe kompiliert wird (wie Eclipse)
  • jedes Xml muss über striktes xsd validiert werden. Wenn der Inhalt Referenzen auf andere Informationen hat (wie Java-Code), sollte er überprüft werden (wie Spring nach Bean-Klassen sucht).
  • für die View-Technologie, da es von meinem Java-Code abhängt, muss ich eine Bestätigung haben, die meinen tatsächlichen Java-Code enthält. Eine Idee könnte sein, meine Sicht in Java zu codieren. (wie Wicket).
  • Meine Eigenschaften müssen in den Eigenschaftendateien für die Übersetzung sein. Aber die Verwendung von String-Schlüsseln in meinem Code (oder View) ist nicht akzeptabel. Ich würde ein kleines Tool ausführen, das Java-Enums aus jeder Eigenschaftendatei erstellt, und mein Code verweist auf die Enums.
  • ... und so weiter

Ein anderes Beispiel: Angenommen, ich bevorzuge " Konvention über Konfiguration ". Das heißt, ich stimme zu, strengere Regeln in meinem Projekt zu befolgen und manuell viel weniger zu tun (weil Standardwerte passen):

  • Maven ist das Werkzeug der Wahl. Es wird viele Einschränkungen auferlegen, aber auch viele "Build" -Funktionen bereitstellen ...
  • Für eine Webanwendung konnte ich Struts 1 nicht verwenden, da es sich um diese riesigen Konfigurationsdateien in der Datei struts-config.xml handelt, meist mit Installationscode. Ich würde definitiv zu etwas wie Spring MVC wechseln, das Standardwerte für die Zuordnung von URLs zu Controllern hat.
  • und so weiter ...

Ein anderes Beispiel: Angenommen, ich glaube so sehr an die Model-View-Controller -Trennung, um es klar zu machen und wiederzuverwenden, dass ich es etwas strecken möchte. Ich könnte verwenden:

  • In der Ansicht würde ich mein Modell sauber trennen (sauberes HTML, keine Formatierung, kein Skript), meine Ansicht (oder Formatierung, nur externes css) und meinen Controller (Javascript, unter Verwendung der nicht-aufdringlichen JavaScript-Richtlinie).
  • in der Webapp könnte ich Spring MVC verwenden, um diese Layer gut zu trennen.
  • im Business (dieses Beispiel ist ein bisschen konstrig :-)), könnte ich ein reichhaltiges Domain-Modell haben, ausgiebig das Befehlsmuster ("controllers") verwenden und explizit meine Geschäftsservices als Interface-API ("view ").
KLE 07.09.2009 08:28
quelle

Tags und Links