Dynamische webprojecten en toepassingen

Er zijn twee soorten webprojecten: dynamisch en statisch. Dynamische webprojecten kunnen dynamische J2EE-resources bevatten, zoals servlets, JSP-bestanden en bijbehorende metagegevens, naast statische resources, zoals afbeeldingen en HTML-bestanden. Statische webprojecten bevatten alleen statische resources. Als u webprojecten maakt, kunt u trapsgewijze stijlbladen en JSP-tagbibliotheken (voor dynamische webprojecten) opnemen, zodat u kunt beginnen met het ontwikkelen van een uitgebreidere set projectresources.

Dynamische webprojecten zijn altijd opgenomen in bedrijfstoepassingen. De wizard waarmee u een dynamisch webproject maakt, maakt ook een bedrijfstoepassingsproject (EAR) als dit nog niet bestaat. De wizard werkt ook de ingebruiknamedescriptor toepassing.xml van het desbetreffende bedrijfstoepassingsproject bij om het webproject te definiëren als module-element. Wanneer u geen nieuw dynamisch webproject maakt, maar een WAR-bestand importeert, moet u in de wizard WAR importeren een webproject opgeven en moet er dus al een EAR-project aanwezig zijn.

J2EE-conventies kunnen extra overhead veroorzaken als u een statische, op content gebaseerde webtoepassing wilt maken die geen dynamische bestanden bevat, zoals JSP-bestanden of servlets. Wanneer u een webproject met alleen basisvoorzieningen wilt maken, kunt u het beste kiezen voor een statisch webproject (zie Statische webprojecten). U kunt een statische webproject converteren naar een dynamisch webproject door in het menu Project Converteren naar dynamisch webproject te kiezen.

Het J2EE-model, met name de Sun Microsystems Java Servlet 2.3 Specificatie, definieert een directorystructuur voor de webtoepassing waarin de locaties worden vastgelegd voor webcontentbestanden, klassenbestanden, klassenpaden, ingebruiknamedescriptors en ondersteunende metagegevens. De hiërarchie van het webproject wordt afgeleid van de webtoepassing die u wilt maken. In de workbench kunt u met de wizard Nieuw webproject een nieuw webproject maken.

De hoofdmap van het project bevat alle ontwikkelobjecten die betrekking hebben op een webtoepassing. De map voor de webcontent bevat de elementen van het project die nodig zijn om een webtoepassing te maken. Deze mappenstructuur wordt toegewezen aan de structuur van het webtoepassingsarchief (WAR) dat door Sun Microsystems wordt gedefinieerd. De mappenhiërarchie van het webproject bevat de volgende standaardelementen:
Opmerking: In de view Projectverkenner worden webprojecten gegroepeerd in mapknooppunten, om het beheer eenvoudig te maken. Meer informatie over deze gefilterde structuur vindt u in View Projectverkenner.
Web-ingebruiknamedescriptor
De standaarddescriptor voor ingebruikname van de webtoepassing (het bestand web.xml).
JavaSource
Bevat de Java-broncode voor klassen, beans en servlets. Wanneer deze resources aan een webproject zijn toegevoegd, worden ze automatisch gecompileerd en de gegenereerde bestanden worden toegevoegd aan directory WEB-INF/classes. De inhoud van de brondirectory wordt niet in WAR-bestanden opgeslagen, tenzij hiervoor een optie wordt opgegeven als het WAR-bestand wordt gemaakt.
Opmerking: De standaardnaam van de map is JavaSources. U kunt deze naam wijzigen door met de rechtermuisknop te klikken op de naam in de Projectverkenner en te klikken op Herstructureren > Hernoemen.
Map imported_classes
Deze map wordt gemaakt bij het importeren van een WAR-bestand en bevat klassenbestanden die geen bijbehorende bron hebben. De map imported_classes is een Java-klassenmap. Java-klassenmappen kunnen ook worden gemaakt op de eigenschappenpagina Java-buildpad van een webproject.
Map WebContent
Dit is de verplichte locatie van alle webresources, inclusief HTML, JSP, grafische bestanden, etc. Wanneer de bestanden niet in deze directory (of in een subdirectory onder deze directory) worden geplaatst, zijn de bestanden niet beschikbaar als de toepassing op een server wordt uitgevoerd. De map Webcontent bevat de inhoud van het WAR-bestand dat op de server in gebruik wordt genomen. Bestanden die niet in de map Webcontent staan, worden beschouwd als ontwikkelresources (zoals .java-bestanden, .sql-bestanden en .mif-bestnden) en worden niet in gebruik genomen als het project wordt getest of gepubliceerd.
Opmerking: De standaardnaam van de map is WebContent. U kunt deze naam wijzigen door in de Projectverkenner met de rechtermuisknop te klikken op de map en HerstructurerenHernoemen te kiezen. U kunt dit ook doen in het eigenschappenvenster van het project. In een dynamisch webproject wordt de uitvoerdirectory van de Java-build bijgewerkt als u de naam van de map wijzigt.
META-INF
Deze directory bevat het bestand MANIFEST.MF, dat wordt gebruikt om klassenpaden van afhankelijke JAR-bestanden toe te wijzen aan bestanden in andere projecten in hetzelfde bedrijfstoepassingsproject. Als er invoer aan dit bestand wordt toegevoegd, worden de JAR-bestanden waarnaar wordt verwezen, opgenomen in het runtimeprojectklassenpad en de Java-buildinstellingen.
theme
De voorgestelde directory voor trapsgewijze stijlbladen en andere met stijl samenhangende objecten.
WEB-INF
Deze directory is gebaseerd op de Sun Microsystems Java Servlet 2.3 Specification. Deze directory bevat de ondersteunende webresources voor een webtoepassing, inclusief het bestand web.xml en de directory's classes en lib.
/classes
Deze directory is bedoeld voor servlets, functieklassen en de uitvoerdirectory van de Java-compiler. De klassen in deze directory worden gebruikt door de toepassingsklassenlader om de klassen te laden. Mappen in deze directory worden gebruikt voor toewijzing van pakket- en klassennamen, zoals in: /WEB-INF/classes/com/mycorp/servlets/MyServlet.class.

Plaats geen .class-bestanden rechtstreeks in deze directory. De .class-bestanden worden automatisch in deze directory geplaatst als de Java-compiler Java-bronbestanden compileert die in de directory Java Resources staan. Bestanden die rechtstreeks in deze directory worden geplaatst, worden gewist door de Java-compiler als deze wordt uitgevoerd.

/lib
De ondersteunende JAR-bestanden waarnaar uw webtoepassing verwijst. Klassen in JAR-bestanden die in deze directory worden geplaatst, zijn beschikbaar voor uw webtoepassing.
Bibliotheken
De ondersteunende JAR-bestanden waarnaar uw webtoepassing verwijst. Deze map spiegelt de inhoud van de map lib. Daarnaast bevat deze map webbibliotheekprojecten. Dit zijn "virtuele" JAR-bestanden die niet fysiek aanwezig zijn in het webproject, maar die elders in uw werkgebied gekoppeld zijn aan Java-projecten. Deze worden samen met uw project ingepakt als u het WAR-bestand van de toepassing exporteert.
Opmerking: Een bibliotheekitem in het Java-buildpad blijft behouden, tenzij het JAR-bestand uit de map WEB-INF/lib wordt gewist. Wanneer u het item voor het bibliotheekpad verwijdert, maar niet het JAR-bestand, wordt de bibliotheek automatisch opnieuw aan het pad toegevoegd.
Verwante onderwerpen
Webresources
WAR-bestanden (webarchief)
Verwante taken
Een dynamisch webproject maken
JSP-bestanden (JavaServer Pages) maken