Dynamiske webprojekter og -programmer

Der er to typer webprojekter: dynamiske og statiske. Dynamiske webprojekter kan indeholde dynamiske Java EE-ressourcer, f.eks. miniservere, JSP-filer, filtre og tilknyttede metadata, foruden statiske ressourcer som f.eks. billeder og HTML-filer. Statiske webprojekter indeholder kun statiske ressourcer. Når du opretter webprojekter, kan du inkludere CSS-typografiark (Cascading Style Sheets) og JSP-kodebiblioteker (til dynamiske webprojekter), så du kan begynde udviklingen med et mere omfattende sæt projektressourcer.

Dynamiske webprojekter er altid indlejret i Enterprise Application-projekter. Den guide, du bruger til at oprette et dynamisk webprojekt, opretter også et EAR-projekt (Enterprise Application), hvis det ikke allerede findes. Desuden opdaterer guiden distributionsdeskriptoren application.xml til det angivne Enterprise Application-projekt, så webprojektet defineres som modulelement. Hvis du importerer en WAR-fil i stedet for at oprette et nyt dynamisk webprojekt, forudsættes det i guiden WAR-import, at du angiver et webprojekt, som igen allerede kræver et EAR-projekt.

Java EE-konventioner kan repræsentere en ekstra belastning, hvis du kun vil oprette et statisk, indholdsbaseret webprogram, som ikke indeholder dynamiske filer som f.eks. JSP-filer eller miniservere. I så fald kan du bruge webprojekttypen statisk, når du kun har brug for et grundlæggende webprojekt (se Statiske webprojekter). Bemærk, at du kan konvertere statiske webprojekter til dynamiske webprojekter ved at vælge Konvertér til dynamiske webprojekt på menuen Projekt.

Java EE-modellen og mere specifikt Sun Microsystems Java™ Servlet 2.3 Specification definerer en biblioteksstruktur for webprogrammer, som angiver placeringen af filer med webindhold, klassefiler, classpaths, distributionsdeskriptorer og understøttende metadata. Webprojekt-hierarkiet afspejler hierarkiet for det webprogram, der er oprettet på basis af et projekt. På arbejdsbænken kan du bruge guiden Nyt webprojekt til at oprette et nyt webprojekt.

Den overordnede projektfolder indeholder alle de udviklingsobjekter, der er relateret til et webprogram. Webindholdsfolderen indeholder de projektelementer, der er nødvendige for at kunne oprette et webprogram. Denne folderstruktur er vha. mapping tilknyttet den WAR-struktur (Web Application Archive), som er defineret af Sun Microsystems. Følgende standardelementer er placeret i webprojektfolder-hierarkiet:
Bemærk: I Project Explorer-oversigten filtreres webprojekter i foldernoder for at tilpasse fremvisningen af webressourcer, så de bliver nemme at administrere under udviklingen. Der er flere oplysninger om den filtrerede struktur under Oversigten Project Explorer.
Webdistributionsdeskriptor
Standard-webdistributionsdeskriptoren (filen web.xml).
JavaSource
Indeholder projektets Java-kildekode til klasser, beans og miniservere. Når disse ressourcer tilføjes til et webprojekt, kompileres de automatisk, og de genererede filer tilføjes til WEB-INF/classes-biblioteket. Indholdet af kildebiblioteket pakkes kun i WAR-filer, hvis der angives en parameter, når WAR-filen oprettes.
Bemærk: Selvom folderens standardnavn er JavaSources, kan du ændre navnet ved at dobbeltklikke på det i Project Explorer og klikke på Refactor >Omdøb.
folderen imported_classes
Denne folder kan blive oprettet under en WAR-import og indeholder klassefiler, som ikke har nogen tilhørende kilde. Folderen imported_classes er en folder til Java-klasser. Java-klassefoldere kan også oprettes vha. egenskabssiden Java-byggesti til webprojektet.
Folderen WebContent
Den obligatoriske placering af alle webressourcer, herunder HTML-, JSP-, grafikfiler osv. Hvis filerne ikke er placeret i dette bibliotek (eller i et underbibliotek under dette bibliotek), er filerne ikke tilgængelige, når programmet udføres på en server. Folderen med webindhold repræsenterer indholdet af den WAR-fil, som bliver distribueret på serveren. Alle filer, der ikke er placeret i webindholdsfolderen, anses for at være udviklingsressourcer (f.eks. .java-filer, .sql-filer og .mif-filer), og de distribueres derfor ikke, når projektet modultestes eller publiceres.
Bemærk: Selvom folderens standardnavn er WebContent, kan du ændre navnet i Project Explorer ved at højreklikke på folderen og vælge RefactorOmdøb eller fra websiden for projektets egenskabsdialogboks. I et dynamisk webprojekt medfører en ændring af foldernavnet opdatering af Java-byggeoutputbiblioteket.
META-INF
Dette bibliotek indeholder filen MANIFEST.MF, som bruges til at tilknytte classpaths vha. mapping for afhængige JAR-filer, som findes i andre projekter i det samme Enterprise Application-projekt. En indgang i denne fil medfører opdatering af runtime-projekt-classpath og af indstillingerne for Java-byg, så de JAR-filer, der henvises til, inkluderes.
theme
Det foreslåede bibliotek til CSS-typografiark (Cascading Style Sheets) og andre typografirelaterede objekter.
WEB-INF
Dette bibliotek bygger på Sun Microsystems Java Servlet 2.3 Specification og indeholder de understøttende webressourcer til et webprogram, herunder filen web.xml samt klasser og lib-biblioteker.
/classes
Dette bibliotek er beregnet til miniservere, funktionsklasser og Java-compiler-outputbibliotek. Klasserne i biblioteket bruges af programmets klasseindlæsningsfunktion til indlæsning af klasser. Folderne i biblioteket tilknytter pakke- og klassenavne vha. mapping, f.eks.: /WEB-INF/classes/com/mycorp/servlets/MyServlet.class.

Undlad at placere .class-filer direkte i dette bibliotek. Filer af typen .class bliver automatisk placeret i biblioteket, når Java-compileren kompilerer Java-kildefiler, der er placeret i biblioteket Java Resources. Filer, som placeres direkte i dette bibliotek, bliver slettet af Java-compileren, når den udføres.

/lib
De understøttende JAR-filer, som dit webprogram henviser til. Alle klasser i .jar-filer, som er placeret i dette bibliotek, vil være tilgængelige for webprogrammet
Biblioteker
De understøttende JAR-filer, som dit webprogram henviser til. Folderen afspejler indholdet af lib-folderen. Desuden er webbiblioteksprojekter, som er "virtuelle" JAR-filer, der ikke fysisk er placeret i webprojektet, men som er tilknyttet Java-projekter andre steder i dit arbejdsområde, inkluderet i denne folder. De pakkes sammen med dit projekt, når du eksporterer programmets WAR-fil.
Bemærk: En bibioteksindgang i Java-byggestien bliver ved med at findes der, medmindre den faktiske JAR-fil slettes i folderen WEB-INF/lib. Hvis du fjerner en biblioteksstiindgang, men ikke JAR-filen, bliver biblioteksindgangen automatisk tilføjet til stien igen.
Relaterede begreber
Webressourcer
Webarkivfiler (WAR)
Relaterede opgaver
Opret et dynamisk webprojekt
Opret JavaServer-sider (JSP)