# Struts lernen?



## bronks (8. Jan 2005)

Wie kann man den Umgang mit Struts am besten lernen, wenn man auf Netbeans fixiert ist? Das Prinzip von Struts ist eigentlich klar. 

Ich hab mit dem Buch "Jakarta Struts Live" angefangen. Schon im ersten Kapitel wird einem 2x Fremdsoftware aufgezwungen, mit der man sich überhaupt nicht beschäftigen wollte. Das Beispiel aus dem ersten Kapitel ist so groß, daß wenn schon am Anfang etwas nicht so funktioniert wie erwartet ... naja, daß man es halt vergessen kann; wenigstens mit meinem Wissensstand. Evtl. liegt es daran, daß ich ein paar englische Sätze mißverstanden habe oder daß ich es unbedingt in Netbeans untergebracht haben möchte und dadurch das Desaster habe. Ich weiß nicht woran es liegt und für einen 5ten Anlauf fehlt mir jetzt irgendwie die Motivation.

Gibt es evtl. irgendwo in den Tiefen des Internets ein ganz einfach gehaltenes Struts-Tut mit netbeansfähigem Code. Eigentlich wäre eine kleine Datenbankanwendung traumhaft, die ich mit Netbeans durchdebuggen und ein bissl damit herumspielen kann bevor ich mir über den rest gedanken mache. Hat da evtl. jemand etwas für mich? Bitte, bitte ... Danke!


----------



## Gast (8. Jan 2005)

Hallo bronks,

also ich habe zwei Bücher benutzt (benutze sie auch immer noch), die Dir vielleicht helfen.

1. "Struts-The Complete Reference" erschienen bei McGraw-Hill/Osborne, ISBN: 0-07-223131-9, Preis: 42,50€

Ein relativ kurzes Kapitel 1 als Einleitung in Struts mit ebensfalls kurzen Erläuterungen zum MVC-Patter und wie Struts diese Aufgabe  löst.
Kapitel 2 ist dann eine kleine WebApplication. Sehr einfach zu verstehen, aber es ist trotzdem alles bestens erklärt mit einfachen Code-Beispielen aber vollständig.

Alle weiteren Kapitel gehen dann weiter auf Struts ein sowie seine Erweiterungen (Tiles, Validator) ebensfalls bestens beschrieben und aufbauend auf das Bsp. aus Kapt. 2. Diese Applikation wird stetig weiterentwickelt.

Dann folgt noch die Referenz ebenfalls mit ganz kurzen Anwendungsbeispielen.

Dieses Buch geht aber nur auf Struts ein, nicht wie man komplette Web-Anwendungen schreibt. Datenhaltung oder BusinessLogic wird hier nicht behandelt. 

2. "Pro Jakarta Struts" -Second Edition- erschienen bei Apress, ISBN: 1-59059-228-X

Dieses Buch behandelt ebenfalls Struts für "Beginner" geht aber einen Schritt weiter. Es wird ebenfalls erklärt wie man WebApplikationen "layered". Also wie nimmt man evtl. BusinessLogic aus der Präsentationsschicht raus, und nutzt eine BusinessLogic-Schicht welche dann die DatenhaltungSchicht benutzt. Also, so wie es sein sollte. 
Nun in der Datenhaltung wird ein ORM-Tool (hier OJB by APACHE) benutzt, was ja nicht schlecht ist. EJB wird nicht behandelt aber es wird ein Ansatz geliefert.
Ein empfehlenswertes Buch, finde ich.


Beide Bücher sind in engl. Sprache aber Dein obiges Buch ja  auch. Beide sind relativ aktuell.

Mein Tip:
Geh zu LEHMANNS, nimm beide Bücher aus dem Regal,
suche Dir eine gute Sitzgelegenheit und spendiere jedem Buch ca. 1h. Lies ein Kapitel komplett, um zu sehen ob Du  mit dem Schreibstil klarkommst. Wenn Du die Bsp. bzw. Code-Snippets nicht verstehst, ein schlechtes Gefühl hast, laß das Buch im Laden.

Da die Preise für gute Bücher nicht immer gering sind, lese ich persönlich manchmal 3 mal vorher jeweils ca. 45 min. Bis ich mir sicher bin.


----------



## bronks (9. Jan 2005)

Danke für die Tips, wenn ich mal wieder in einer Stadt    bin, dann werde ich mal konkret nach den Büchern ausschau halten.


----------



## Jockel (9. Jan 2005)

Ich bin mit diesem Buch ganz gut gefahren: http://www.amazon.de/exec/obidos/ASIN/3898424529/qid=1105278457/ref=pd_ka_3/028-4148984-6156535
Benutze selbst auch Netbeans und bis auf ein paar Kleinigkeiten, (die man durch etwas ausprobieren selbst schnell herausfindet), konnte ich die Beispiele recht gut nachvollziehen.
Allerdings sei auch auf den Untertitel verwiesen, der da lautet 'Ein Tutorial...'! Nichts anderes ist es auch. Großartig in die Tiefe geht es nicht und an einigen Stellen hätte man sich sicherlich mehr Infos gewünscht, aber um ein Überblick über Struts und seine Funktionsweise zu erhalten, kann ich dieses Buch mit gutem Gewissen weiterempfehlen.
Hier noch mehr Infos vom Autor über das Buch: http://stephanwiesner.de/strutsbuch/


----------



## foobar (9. Jan 2005)

Ich finde Programming Jakarta Struts von O'Reilly ganz gut. Ansonsten gibt es ja auch immer noch die Doku ;-)


----------



## bronks (11. Jan 2005)

Es war ein kleines Hindernis dem Netbeans Struts aufzuzwingen; oder war es umgekehrt... Das erste Buch hab ich Durch und frage mich, ob es das ist, um was man so eine Sensation macht.

Hab ich das jetzt Richtig verstanden?
Es gibt ein ActionServlet als Controller, welches mit der struts-config.xml eingestellt wird. Dieser Controller kümmert sich um den ganzen Ablauf der Webapplikation und um die Daten. Das tollste Feature an Struts ist, daß alles eine strenge Ordnung hat und die Actions, ActionForms ... usw ... ihre feste Ordnung haben und der Controller anhand der Einstellungen in der struts-config.xml mit den Forwards für den Daten- und ViewFluss sorgt.

Das was mein handgeschrienes ControllerServlet jetzt macht übernimmt bei Struts das ActionServlet mit der struts-config.xml. Erzwungen wird dadurch ein einheitliche und übersichtliche Gestaltung der Webapplication. Als Arbeitserleichterung kann man es nicht in jedem Fall ansehen.


----------



## Jaraz (11. Jan 2005)

Jepp, so siehts im großen und ganzen aus.
Du wirst angehalten strukturiert zu arbeiten.

Das erste Projekt mit Struts wird mit Sicherheit deutlich länger dauern, als wenn du es ohne machen würdest.
Nur lernst du so wie man etwas elegant lösen kann und kannst es schnell bei weiteren Projekten anwenden bzw. große Teile wiederverwenden.

Gruß Jaraz

Als Buch finde ich Struts in Action gut... http://www.manning.com/husted/


----------



## bronks (12. Jan 2005)

So! Jetzt hab ich ein paar Applikationen mit Struts zum laufen gebracht und mittlerweile ist es gar kein Problem mehr irgendwelche fremden Struts-Sourcen in Netbeans unterzubringen. 

Es folgt meine subjektive Meinung:

Eigentlich bin ich nur erschüttert. M.E. wird mit diesem Framework fast alles kaputtgemacht, was Java, Servlet und JSP so brauchbar macht. Immer wieder höre ich mir an, daß kein Javacode in die JSP gehört, aber die Struts-Tags welche sich ein Designer extra verinnerlichen muß, werden kommentarlos angenommen. Viele Struts-Tags erinnern irgendwo an HTML und an die JSTL- oder Standardtags müssen aber anders verwendet werden, weil es die Strutslogik so vorsieht.

Die ganze Programmlogik muß man in die Struts-Schablone reinquetschen, damit die Übersichtlichkeit und Struktur ein einheitliches Bild macht. Das was man im Code an Übersichtlichkeit erhält, wird durch eine überlange Struts-Config und die in anderen Dateien ausgelagerten Einstellungen wieder platt gemacht. 

Wo man einen JavaCode problemlos Debuggen kann steht man bei Struts evtl. vor einen elend langen Struts-Config und sucht einen Fehler, der evtl. durch eine versehentlich gelöschte Library hervorgerufen wurde noch Ewigkeiten, weil es (wenigstens bei mir) mit einer nichtsaussagenden Fehlermeldung quittiert wird. 

Ich hab mich von Struts schon verabschiedet und werde meine nächste App mit Fassade und eigenem Controller bauen.


----------



## ak (12. Jan 2005)

Ein Flowdesigner für die struts-config wie es ihn in myeclipse, dem JBuilder oder dem JDeveloper gibt, wäre da nicht verkehrt. Die Strutsconsole, soll auch ganz gut sein.


----------



## bronks (12. Jan 2005)

ak hat gesagt.:
			
		

> Ein Flowdesigner für die struts-config wie es ihn in myeclipse, dem JBuilder oder dem JDeveloper gibt, wäre da nicht verkehrt. Die Strutsconsole, soll auch ganz gut sein.


Die Strutsconsole ist ganz nett. Der Designer vom JDeveloper ist sehr übersichtlich und nimmt auch ein bissl Arbeit und Denken ab. Bei den ganzen IDEs und Frameworks, die dahinterstecken frägt man sich schon was man da eigentlich macht. Entwickle ich überhaupt noch mit Java, Servlets, JSP ... oder ist es Struts, Oracle, Borland ...

Es ist traurig sich J2EE-Entwickler zu nennen, wenn man ohne seine Hilfsmittelchen letztendlich total aufgeschmissen ist.


----------



## bronks (17. Jan 2005)

Nachdem mein eigener FrontController etwas ausgewuchert ist und dadurch etwas unübersichtlich und schwerfällig geworden ist hab ich mir nocheinmal Struts vorgenommen. Struts ist schon genial, trägt zur Übersichtlichkeit sehr viel bei und nimmt doch recht viel Arbeit ab. Mein anfängliches Verständnisproblem lag darin, daß ich in Struts etwas anderes erwartet habe als es in Wirklichkeit ist. Die beste Dokumentation ist m.E. die Struts Doku und die beiliegenden Beispiele. Keine unnötige Lyrik und trockene, klar verständliche Fakten.


----------



## foobar (17. Jan 2005)

> Die ganze Programmlogik muß man in die Struts-Schablone reinquetschen, damit die Übersichtlichkeit und Struktur ein einheitliches Bild macht.


Geschäftslogik hat in der View-Ebene sowieo nichts verloren. In den Action-Klassen wird lediglich das BusinessDelegate aufgerufen, daß dann wiederum auf die Geschäftslogik zugreift.



> Eigentlich bin ich nur erschüttert. M.E. wird mit diesem Framework fast alles kaputtgemacht, was Java, Servlet und JSP so brauchbar macht. Immer wieder höre ich mir an, daß kein Javacode in die JSP gehört, aber die Struts-Tags welche sich ein Designer extra verinnerlichen muß, werden kommentarlos angenommen. Viele Struts-Tags erinnern irgendwo an HTML und an die JSTL- oder Standardtags müssen aber anders verwendet werden, weil es die Strutslogik so vorsieht.


Iich finde die Struts-Tags sind überaus praktisch und leicht zu erlernen. Was wird dadurch kaputt gemacht?


----------

