Dynamische Webprojekte und Anwendungen

Es gibt zwei Arten von Webprojekten: dynamische und [/concept/conbody/p/xref/desc {"- topic/desc "}) (desc]statische. Dynamische Webprojekte können neben statischen Ressourcen wie Grafiken und HTML-Dateien auch dynamische J2EE-Ressourcen wie Servlets, JSP-Dateien, Filter und die zugehörigen Metadaten enthalten. Statische Webprojekte enthalten nur statische Ressourcen. Beim Erstellen von Webprojekten können Sie Cascading Style Sheets und JSP-Tagbibliotheken (für dynamische Webprojekte) hinzufügen. Damit stehen Ihnen umfangreiche Projektressourcen zur Verfügung, wenn Sie mit dem Projekt beginnen.

Alle dynamischen Webprojekte sind in Enterprise Application-Projekte eingebettet. Wenn Sie ein dynamisches Webprojekt mit dem Assistenten erstellen, erstellt dieser ein Enterprise Application-Projekt (EAR-Projekt), falls ein solches noch nicht vorhanden ist. Der Assistent aktualisiert auch den Implementierungsdeskriptor application.xml des angegebenen Enterprise Application-Projekts, um das Webprojekt als Modulelement zu definieren. Wenn Sie kein neues dynamisches Webprojekt erstellen, sondern eine WAR-Datei importieren, fordert der Assistent für den WAR-Import Sie auf, ein Webprojekt anzugeben, das bereits über das erforderliche EAR-Projekt verfügt.

Wenn Sie lediglich eine statische, inhaltsbasierte Webanwendung ohne dynamische Dateien wie JSP-Dateien oder Servlets erstellen wollen, können die J2EE-Konventionen zu unerwünschtem Systemaufwand führen. Wenn Sie in diesem Fall nur ein sehr einfaches Webprojekt benötigen, sollten Sie den statischen Webprojekttyp in Betracht ziehen (siehe [/concept/conbody/p/xref/desc {"- topic/desc "}) (desc]Statische Webprojekte). Hinweis: Sie können statische Webprojekte in dynamische Webprojekte konvertieren. Wählen Sie dazu im Projektmenü In dynamisches Webprojekt konvertieren... aus.

Im J2EE-Modell - genauer gesagt in der Sun Microsystems Java Servlet 2.3-Spezifikation - wird eine Verzeichnisstruktur für Webanwendungen definiert. Diese legt die Position der Dateien mit den Webinhalten, der Klassendateien, Klassenpfade, Implementierungsdeskriptoren und der zugehörigen Metadaten fest. Die Hierarchie des Webprojekts entspricht der Hierarchie der Webanwendung, die aus diesem Projekt erstellt wurde. Sie können in der Workbench mit dem Assistenten für neue Webprojekte ein neues Webprojekt erstellen.

Der Hauptordner eines Projekts enthält alle zu einer Webanwendung gehörenden Entwicklungsobjekte. Der Ordner mit Webinhalten enthält die Elemente eines Projekts, die zur Erstellung einer Webanwendung erforderlich sind. Diese Ordnerstruktur entspricht der von Sun Microsystems definierten WAR-Struktur. In der Ordnerhierarchie des Webprojekts befinden sich standardmäßig folgende Elemente:
Anmerkung: In der Sicht 'Projektexplorer' werden Webprojekte in Ordnerknoten gefiltert. Dadurch lässt sich die Anzeige der Webressourcen anpassen, und die Webressourcen lassen sich während der Entwicklung leichter verwalten. Informationen zu dieser gefilterten Struktur finden Sie unter [/concept/conbody/p/note/xref/desc {"- topic/desc "}) (desc]Sicht 'Projektexplorer'.
Webimplementierungsdeskriptor
Der standardmäßige Webimplementierungsdeskriptor (die Datei web.xml).
JavaSource
Enthält den Java-Quellcode für Klassen, Java-Beans und Servlets des Projekts. Wenn diese Ressourcen zu einem Webprojekt hinzugefügt werden, werden sie automatisch kompiliert, und die erzeugten Dateien werden zum Verzeichnis 'WEB-INF/classes' hinzugefügt. Der Inhalt des Quellenverzeichnisses wird nur dann in WAR-Dateien gepackt, wenn diese Option bei der Erstellung einer WAR-Datei ausgewählt wurde.
Anmerkung: Der Standardname für diesen Ordner lautet 'JavaSources'. Sie können diesen Namen ändern, indem Sie im Projektexplorer mit der rechten Maustaste auf den Namen klicken und dann Refactoring > Umbenennen auswählen.
Ordner 'imported_classes'
Dieser Ordner wird unter Umständen beim Import einer WAR-Datei erzeugt. Er enthält Klassendateien, zu denen keine Quellen vorhanden sind. Beim Ordner imported_classes handelt es sich um einen Ordner für Java-Klassen. Ordner für Java-Klassen können auch auf der Eigenschaftenseite Java-Erstellungspfad des Webprojekts erstellt werden.
Ordner 'WebContent'
Die verbindliche Speicherposition für alle Webressourcen einschließlich HTML-, JSP- und Grafikdateien usw. Wenn diese Dateien nicht in diesem Verzeichnis (oder in der Unterverzeichnisstruktur dieses Verzeichnisses) gespeichert werden, stehen sie bei der Ausführung der Anwendung auf dem Server nicht zur Verfügung. Der Ordner mit Webinhalten repräsentiert den Inhalt der WAR-Datei, die auf dem Server implementiert wird. Alle Dateien außerhalb des Ordners mit Webinhalten werden als Entwicklungsressourcen betrachtet (z. B. Java-, SQL- und MIF-Dateien) und nicht implementiert, wenn ein Komponententest des Projekts durchgeführt oder das Projekt publiziert wird.
Anmerkung: Der Standardname für diesen Ordner lautet WebContent. Sie können den Namen ändern, indem Sie im Projektexplorer mit der rechten Maustaste auf den Namen klicken und dann RefactoringUmbenennen auswählen. Sie können den Namen auch auf der Webseite des Eigenschaftendialogs des Projekts ändern. Bei dynamischen Webprojekten wird mit der Namensänderung automatisch das Ausgabeverzeichnis für die Java-Erstellung aktualisiert.
META-INF
Dieses Verzeichnis enthält die Datei MANIFEST.MF, die zur Zuordnung von Klassenpfaden für abhängige JAR-Dateien verwendet wird, die in anderen Projekten desselben Enterprise Application-Projekts vorhanden sind. Ein Eintrag in dieser Datei führt dazu, dass der Klassenpfad des Laufzeitprojekts und die Einstellungen für die Java-Erstellung aktualisiert werden und dann die referenzierten JAR-Dateien enthalten.
theme
Der empfohlene Ordner für das Speichern von Cascading Style Sheets und anderen Objekten für die Darstellung.
WEB-INF
Entsprechend der Sun Microsystems Java Servlet 2.3-Spezifikation enthält dieses Verzeichnis die unterstützenden Webressourcen für eine Webanwendung, einschließlich der Datei web.xml und der Verzeichnisse 'classes' und 'lib'.
/classes
Dieses Verzeichnis enthält Servlets, Dienstprogrammklassen und das Ausgabeverzeichnis für den Java-Compiler. Die Klassen in diesem Verzeichnis werden vom Anwendungsklassenladeprogramm verwendet, um die Klassen zu laden. Die Ordner in diesem Verzeichnis ordnen Paket- und Klassennamen zu, zum Beipiel: /WEB-INF/classes/com/mycorp/servlets/MyServlet.class.

Speichern Sie keine .class-Dateien direkt in diesem Verzeichnis. Die .class-Dateien werden automatisch in diesem Verzeichnis gespeichert, wenn der Java-Compiler die Java-Quellendateien kompiliert, die sich im Verzeichnis Java Resources befinden. Alle Dateien, die direkt in diesem Verzeichnis gespeichert wird, löscht der Java-Compiler bei der Ausführung.

/lib
Dieses Verzeichnis enthält die unterstützenden JAR-Dateien, die Ihre Webanwendung referenziert. Alle Klassen, die sich in JAR-Dateien in diesem Verzeichnis befinden, stehen Ihrer Webanwendung zur Verfügung.
Bibliotheken
Dieses Verzeichnis enthält die unterstützenden JAR-Dateien, die Ihre Webanwendung referenziert. Dieser Ordner spiegelt den Inhalt des Ordners 'lib'. Darüber hinaus enthält dieser Ordner Webbibliotheksprojekte. Dabei handelt es sich um "virtuelle" JAR-Dateien, die sich nicht physisch im Webprojekt befinden, sondern mit Java-Projekten an anderen Stellen in Ihrem Arbeitsbereich assoziiert sind. Wenn Sie WAR-Datei der Anwendung exportieren, werden diese Dateien zusammen mit Ihrem Projekt gepackt.
Anmerkung: Bibliothekseinträge für den Java-Erstellungspfad verbleiben so lange, bis die JAR-Datei im Ordner 'WEB-INF/lib' gelöscht wird. Wenn Sie lediglich den Eintrag für den Bibliothekspfad löschen und die JAR-Datei bestehen bleibt, wird der Bibliothekseintrag automatisch erneut zum Pfad hinzugefügt.
Zugehörige Konzepte
Webressourcen
Web-Archive-Dateien (WAR)
Zugehörige Tasks
Dynamisches Webprojekt erstellen
JavaServer Pages-Dateien (JSP) erstellen