Designerfreundliche JSP / Servlet-Webentwicklung unter Windows und Linux (Ubuntu, et al.)

8

Ich bin ein Front-End-Entwickler für mein College-JSP-Projekt und bisher habe ich Sublime Text 2 zum Schreiben von Markup und meinem CSS / Less verwendet und das Projekt direkt von Apache Tomcat aus gestartet, wo ich mein Projektverzeichnis abgelegt habe webapps Ordner, aber später, das Projekt benötigt Servlets (offensichtlich) und ich erkannte die Notwendigkeit von IDE, während meine Kollegen bei der Entwicklung jetzt darauf bestehen, IDE zu verwenden.

Wir haben das gesamte Projekt auf NetBeans 7.1.1 portiert, und bisher funktioniert das Projekt gut und NetBeans kümmert sich um den ganzen Aufwand beim Erstellen / Verwalten von Servlets und seinen web.xml-Konfigurationen, aber ich beschäftige mich hauptsächlich mit dem Markup und Less Das ist hier wirklich langweilig. Im Folgenden sind die Probleme, denen ich gegenüberstehe:

  • Weniger Datei ist überhaupt nicht Syntax-hervorgehoben. (obwohl ich diese Möglichkeit zum Hinzufügen von Syntax highlight zu% nannte co_de% files).

  • Jedes Mal, wenn ich Änderungen an Markup oder CSS vornehme, muss ich F5 drücken und warten, bis im Browser ein neuer Tab erscheint, der die Änderungen widerspiegelt. (Die Refresh-Seite im Browser funktioniert nicht mehr so ​​wie früher bei der JSP-Entwicklung). Stellen Sie sich 10 Registerkarten für 10 Änderungen vor, wenn ich die Registerkarte nicht schließe, nachdem ich sie gesehen habe.

  • Ich habe jQuery oft benutzt, und es nervt mich wirklich, Warnungen in meinen .less -Dateien zu sehen (Ich weiß, dass NetBeans auf korrekte Probleme hinweist, aber ich will einfach nicht, dass es " übermäßig intelligent "mit meinem Code).

  • Ein Webdesigner weiß, wie häufig "save-change-to-css-refreshe-page-in-browser" gespeichert wird. Und die IDE verlangsamt nur diesen ganzen Prozess.

Ich kenne die offensichtlichen Vorteile der Verwendung von IDE, aber gibt es eine Lösung für die oben genannten Probleme?

Außerdem habe ich versucht, mein Projekt auf Eclipse zu portieren (und es ging nur auf verkleinerte jQuery-Dateien), bevor ich mich NetBeans zuwandte, aber es weigerte sich, relative Pfade für meine .js , .js und .css zu verwenden. in .less und <script> -Tags, obwohl alle Dateien und Ordner im Web-Content-Verzeichnis vorhanden waren. Und alles, was ich bekam, waren 404 Fehler für meine Skripte und Stylesheets, trotz der Tatsache, dass ich auf diese Dateien zugreifen konnte, die ich manuell bei URL besuchte. Wie folgt:

%Vor%

aber

%Vor%

Ich habe auch versucht, mit Servlets zu arbeiten, ohne IDE zu verwenden (mein Java-Code ist so einfach, dass ich keine IntelliSense-ähnliche Bearbeitung benötige) und referierte dieser Link, und es funktioniert, wenn ich es auf die gleiche Weise wie erklärt mache, aber ich verstehe nicht, warum ich <alt> von servlet-api.jar eingeben muss apache-tomcat\lib zum Zeitpunkt der Kompilierung, obwohl ich den Pfad zum Apache-Lib-Ordner bereits zu classpath in Windows hinzugefügt habe.

Ich weiß, dass es in dieser Frage zu viele Fragen gibt, dass SO-Moderatoren es wahrscheinlich "moderiert" haben, aber alle meine Fragen deuten auf ein einziges Problem hin, JSP / Servlets zu entwickeln und die Seiten ohne Verwendung zu gestalten IDE, und nur ziemlich fähigen Texteditor AKA Sublime Text.

Bitte schlagen Sie mir eine feste Lösung vor.

    
Kushal 08.04.2012, 20:56
quelle

1 Antwort

4

Ich glaube, dass Sie langfristig von einer IDE für die Entwicklung von Java-Webanwendungen (z. B. NetBeans) profitieren werden, obwohl der Wechsel zu neuen Tools nie einfach ist.

NetBeans ist ein guter Texteditor für HTML, JavaScript und CSS. Es bietet Syntax-Highlighting, Formatierung, Code-Vervollständigung, Inline-Dokumentation, Vorschau für CSS-Farben / Effekte und Validierung.

NetBeans können einfach so konfiguriert werden, dass sie auf einer Tomcat-Instanz bereitgestellt werden, die auf Ihrem Computer ausgeführt wird. Nach dieser Zeit wird jede Bearbeitung von HTML, JSPs und CSS in NetBeans normalerweise automatisch in Ihrer laufenden Anwendung widergespiegelt (es wird nur eine Aktualisierung der F5-Seite benötigt).

Es gibt Situationen, in denen CSS-Änderungen nicht automatisch in der laufenden Anwendung wiedergegeben werden.

  • Wenn Sie das CSS während des Erstellungsprozesses minimieren, lädt Ihr Browser eine verkleinerte Version Ihres CSS (z. B. mit ) YUI-Komprimierung , am besten, diese zu verlassen, bis Sie die CSS-Entwicklung abgeschlossen haben).
  • wenn Sie eine Art CSS-Datei-Caching-Filter verwenden. z.B. Sie legen explizit einen Expiry-Header für die CSS-Datei fest und bewirken, dass der Browser das CSS für einen bestimmten Zeitraum zwischenspeichert.
  • Sie können Ihre JS / CSS in einem externen Editor bearbeiten, NetBeans erkennt ziemlich genau die von externen Editoren vorgenommenen Änderungen, aber manchmal erkennt sie diese nicht, es sei denn, die letzte Änderung wurde im NetBeans-Editor selbst vorgenommen.

Da Sie keine sofortige Aktualisierung erleben, würde ich annehmen, dass dies ein Problem mit Ihrer Nutzung von LESS ist und nicht von NetBeans selbst.

Ich habe LESS nicht selbst benutzt, sondern eine Lösung gefunden bei Quick-Tipp: LESS.js im Entwicklungs- und Überwachungsmodus , wenn Sie less.js in einem HTML5-Browser ausführen, wird lokaler Speicher zum Zwischenspeichern des generierten CSS verwendet. Dies ist ein gutes Feature für den normalen Gebrauch, aber nicht das, was Sie bei der Entwicklung Ihres CSS wünschen, da Sie nicht sofort die Ergebnisse Ihrer CSS-Änderungen sehen werden. Die Lösung besteht darin, die Watch- und Entwicklungsmodi von LESS zu verwenden. Im Watch-Modus kann Ihr CSS automatisch aktualisiert werden (ohne dass Sie F5 drücken müssen), und der Entwicklungsmodus verhindert, dass das CSS zwischengespeichert wird.

Sie können den Überwachungsmodus aktivieren, indem Sie das folgende JavaScript hinzufügen, nachdem weniger Stylesheets und das Skript less.js geladen wurden.

%Vor%

Wenn Sie denken, dass NetBeans zu schlau über Ihr JavaScript ist, sollten Sie sehen, was JSLint daraus macht! Es kann eine kleine Seele sein, die zerstört, zu viele Qualitätswerkzeuge gegen deinen Code zu laufen, das besagte ich benutze immer die Firefox HTML Validator Erweiterung (Ich lebe um die grünen Ticks zu sehen!). Die NetBeans-Warnungen sehen zwar ein wenig gruselig aus, aber sie versuchen nur, Sie standardkonform zu halten, um Probleme auf der ganzen Linie zu vermeiden.

Ich war etwas besorgt, als ich Ihren Satz " Portierte das gesamte Projekt zu NetBeans 7.1.1 " gesehen habe, persönlich würde ich empfehlen, dass Ihr Projekt mit einem Build-Tool gebaut werden sollte, das IDE-agnostisch war (wie Ant oder Maven). NetBeans hat sehr gute Unterstützung für beide Tools, ich bin selbst ein großer Maven-Fan. Wenn Sie diese Build-Tools verwenden, können Sie vermeiden, dass Sie eine IDE verwenden und Ihre Instanz der Anwendung stattdessen über die Befehlszeile erstellen.

Ich hoffe übrigens, dass Sie ein Versionskontrollsystem wie Git oder Subversion verwenden, um Änderungen an Projektdateien freizugeben, IDEs machen es auch einfach, mit Versionskontrollsystemen zu arbeiten.

In Bezug auf Ihre andere Frage. Apache und Apache Tomcat sind zwei verschiedene Arten von Server-Software. Oft wird Apache Server vor einem Tomcat Server installiert. Beim Kompilieren eines Servlets benötigt Ihr Java-Compiler Zugriff auf eine Kopie von servlet-api.jar. Tomcat's lib-Verzeichnis enthält Java-Bibliotheksdateien (zB servlet-api.jar), das lib-Verzeichnis des Apache enthält kompilierte C-Bibliotheken, die von den Apache nativen -Dateien verwendet werden, und nicht Java-Bibliotheksdateien (dies sind verschiedene Arten von Bibliotheken) für verschiedene Zwecke).

    
Mark McLaren 11.04.2012, 21:39
quelle

Tags und Links