Struts 2 Das Imperium schlägt zurück? Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Tobias Kieninger <kieninger@oio.de> www.oio.de info@oio.de Java, XML und Open Source seit 1998 ) Software Factory ) ) Object Rangers ) ) Competence Center) Schlüsselfertige Realisierung von Java Software Individualsoftware Pilot- und Migrationsprojekte Sanierung von Software Software Wartung Unterstützung laufender Java Projekte Perfect Match Rent-a-team Coaching on the project Inhouse Outsourcing Schulungen, Coaching, Weiterbildungsberatung, Train & Solve-Programme Methoden, Standards und Tools für die Entwicklung von offenen, unternehmensweiten Systemen Struts 2 Das Imperium schlägt zurück? 2
Tobias Kieninger Im a pogramar Iam a programer I'm a programor I write code Beratung Projekte Training Struts 2 Das Imperium schlägt zurück? 3 Gliederung Warum wir hier sind Erster Kontakt Migration impossible? Resümee Struts 2 Das Imperium schlägt zurück? 4
Struts 1 Historie Struts 1.0.2 Feb 2002 Struts 1.1 Juni 2003 Bis heute Struts 1.3.10 (Dez 2008) Vorteile Lange Zeit defacto Standard Grosse Community und flächendeckender Einsatz Nachteile ActionForms sind unbeliebt Zu wenig Pojofiziert Wird oft als Tod bezeichnet Actions kaum testbar Struts 2 Das Imperium schlägt zurück? 5 Struts 2 Ein junges altes Framework Kombination aus Struts und OpenSymphony Webwork Voraussetzungen: Servlet API 2.4 JSP API 2.0 Java 5 Aktuelle Version 2.1.16 Jan 2009 Struts 2 Das Imperium schlägt zurück? 6
Verbesserungen in Struts 2 POJOs, juhu! Mehr Flexibiltät bei der Ausgabe Gute Standardeinstellungen Java 5 Annotations sind möglich Die unbeliebten ActionForms sind weg Stateful Checkboxes Einfache PlugIns Guter AJAX Support Verbesserte Testbarkeit Struts 2 Das Imperium schlägt zurück? 7 Lifecycle Struts 1 Servlet Container Request ActionServlet Action Business Logik Bean Bean Bean Response JSP Struts1 Taglibs FormBean Bean Struts 2 Das Imperium schlägt zurück? 8
Lifecycle Struts 2 Servlet Container Request Response Struts 2 FilterDispatcher Interceptor View JSP Action Struts2 Tags Business Logik Action Model Value Stack Struts 2 Das Imperium schlägt zurück? 9 Struts 2 - Action public class LoginAction extends Action { private String username; private String password; public String execute() throws Exception { if (isinvalid(...)) return INPUT; return SUCCESS; } public void getusername() {...} public void setusername(string username) {...}... } Struts 2 Das Imperium schlägt zurück? 10
Struts 2 - struts.xml Struts 2 Das Imperium schlägt zurück? 11 Struts 2 - View Struts 2 Das Imperium schlägt zurück? 12
Validierung Struts 2 Das Imperium schlägt zurück? 13 Interceptoren Komponente wird vor und nach der Verarbeitung aufgerufen Muss threadsave sein Wird verwendet für Validierung Doppelten Submit verhindern Authentifizierung Typkonvertierung Session Handling Debugging FileUpload ExcecAndWait FilterDispatcher Interceptor Struts 2 Das Imperium schlägt zurück? 14
Was isch denn hier passiert? Struts 2 Das Imperium schlägt zurück? 15 Migration possible? Ist die Migration zu Struts 2 Einfach? Sinnvoll? Strategien spärlich Struts 2 parallel zu Struts 1 Schreib es neu! Nimm den conversion wizard Migration Tutorials sind ergiebiger Migration by Ted Husted Quelle: http://struts.apache.org/2.0.11.1/docs/migration-strategies.html Struts 2 Das Imperium schlägt zurück? 16
Und nun? Webframeworkwahl insgesamt schwierig Stellenausschreibungen monster.de zum 21.04.2009 Struts: 119 JSF: 102 Struts 2: 0 Viele neue Möglichkeiten mit Struts 2 Für Struts 1 Entwickler ein Schritt nach vorn Noch zu wenig Dokumentation Ist Struts 2 das Richtige für Sie? Welcher Typ Anwendung wird benötigt? Welche Features werden benötigt? Vorkenntnisse der Entwickler? Wie entwickelt sich die Community? Struts 2 Das Imperium schlägt zurück? 17 Links Struts 2 http://struts.apache.org/2.0.11.1/index.html Migrating to Struts 2 (Ted Husted) http://www.strutsuniversity.org/migrating%20tutorial Migrating Applications to Struts 2 (Ian Roughley) http://www.infoq.com/news/migrating-struts2 Struts 2 Das Imperium schlägt zurück? 18
Vielen Dank für Ihre Aufmerksamkeit! Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Tobias Kieninger <kieninger@oio.de> www.oio.de info@oio.de Mehr von OIO zum Thema... Struts Consulting http://www.oio.de/beratung-consulting/open-source-software/javaframeworks/struts-consulting.htm Artikel: Struts vs. Cocoon http://www.oio.de/m/mvc/index.htm Vortrag: Struts oder JavaServer Faces - Part 1 http://www.oio.de/m/konf/jax2005/jsf_wa4.pdf Vortrag: Struts oder JavaServer Faces - Part 2 http://www.oio.de/m/konf/jax2005/jsf_wa5.pdf Struts 2 Das Imperium schlägt zurück?