Wintersemester 2007/2008 FernUniversität Hagen
Fakultät für Mathematik und Informatik
 Kurs 1794 - Software Engineering II - Methodische Entwicklung von Webapplikationen
 Lehrgebiet Software Engineering, Prof. Dr. Six

Leeres Struts-Projekt

1. Möglichkeit

Die einfachste Möglichkeit, eine Webapplikation mit Struts zu erstellen, besteht darin, ein vom Lehrgebiet bereitgestelltes leeres Struts-Projekt herunterzuladen, das alle benötigten Bibliotheken und Konfigurationsdateien enthält. Dieses leere Projekt können Sie als Basis für Ihr Projekt nehmen, indem Sie einfach ihre selbstgeschriebenen Klassen und JSPs hinzufügen. Die Struktur des leeren Projekts entspricht der in "Projektstruktur" beschriebenen. Sie müssen lediglich noch die build.properties-Datei anpassen: In der Regel genügt es, dort den Projektnamen (KE4.StrutsBlank) umzubenennen. Dieser legt insbesondere den Namen der erzeugten WAR-Datei und den in der URL zum Starten der Webapplikation anzugebenden Projektnamen fest.

Für Enterprise Applications, wie sie ab Kurseinheit 5 eingeführt werden, bieten wir ebenfalls ein leeres Ear-Projekt zum Download an, das die leere Struts-Applikation als Teilprojekt enthält.

2. Möglichkeit

Eine andere Möglichkeit besteht darin, das von Struts mitgelieferte leere Projekt zu benutzen. Wie das geht, wird im Folgenden in drei Schritten beschrieben.

Erster Schritt

Zunächst lädt man sich Struts 1.2.9 von der Apache Software Foundation herunter und entpackt anschließend die zip-Datei in ein frei wählbares Verzeichnis. Es entsteht unter anderem das Unterverzeichnis webapps. In diesem Verzeichnis befindet sich die Datei struts-blank.war, die eine vorkonfigurierte leere Struts-Webapplikation enthält. Diese Datei entpackt man ebenfalls in ein beliebiges Verzeichnis.

Zweiter Schritt

Der Deployment-Descriptor web.xml des leeren Struts-Projektes deklariert noch eine Webapplikation gemäß der Servlet-Spezifikation Version 2.2. Unter anderem, um die EL benutzen zu können, sollte er auf die aktuelle Version 2.5 umgestellt werden. Das web-app-Tag muss dazu wie folgt aussehen:


<web-app version="2.5" 
         xmlns="http://java.sun.com/xml/ns/javaee" 
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
         http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

Dritter Schritt

Um eigene Klassen hinzuzufügen, z.B. konkrete Actions, muss der classpath angepasst werden, so dass auch beim Kompilieren Struts eingebunden wird. Dazu muss die Bibliothek struts.jar in den classpath aufgenommen werden.

Angenommen, das Verzeichnis des Sun Application Servers lautet %AppServerHome% und das Verzeichnis der zu entwickelnden Webapplikation %WEB_HOME%. Der Befehl zum Kompilieren der eigenen Webapplikation könnte dann z.B. folgendes Aussehen besitzen:

javac –d %WEB_HOME%\WEB-INF\classes –cp %AppServerHome%\lib\javaee.jar;%WEB_HOME%\WEB-INF\lib\struts.jar 
%WEB_HOME%\WEB-INF\src\*.java

(Achtung: Es findet kein Zeilenumbruch statt. Hier ist nur wegen der besseren Lesbarkeit ein Zeilenumbruch eingefügt.)

Verwendung von IDE oder ANT

Bei der Benutzung einer IDE (z.B. NetBeans oder Eclipse) muss in den meisten Fällen die obige Zeile zum Kompilieren nicht selbst erstellt werden, sondern wird automatisch von der IDE erzeugt. Dazu gibt man lediglich alle Bibliotheken an, die mit in den classpath aufgenommen werden sollen. Dieser Vorgang sieht von IDE zu IDE unterschiedlich aus und wird daher hier nicht behandelt.

Auch bei Verwendung der Ant-Scripte, wie wir sie unseren Beispielen beilegen, ist dieser dritte Schritt nicht nötig: Unsere Scripte nehmen automatisch die in der build-properties spezifizierten lib-Verzeichnisse mit in den classpath auf (und auch die javaee.jar befindet sich bei Verwendung des asant-Scripts des Application Servers automatisch im Classpath).


Copyright © 2007 FernUniversität in Hagen Stand: 27.12.2007, Autor: Isg