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
.
- 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.