Dynamiske web-prosjekter og -applikasjoner

Det finnes to typer web-prosjekt: dynamiske og statiske. Dynamiske web-prosjekter kan inneholde dynamiske J2EE-ressurser som servletter, JSP-filer, filtre og tilhørende metadata, i tillegg til statiske resurser som bilder og HTML-filer. Statiske web-prosjekter inneholder bare statiske ressurser. Når du oppretter web-prosjekter, kan du inkludere overlappende stilark og JSP-kodebiblioteker (for dynamiske web-prosjekter), slik at du kan begynne utviklingen med et rikere sett av prosjektressurser.

Dynamiske web-prosjekter er alltid innfelt i Enterprise-applikasjon-prosjekter. Veiviseren du bruker til å opprette et dynamisk web-prosjekt, oppretter også et EAR-prosjekt hvis det ikke allerede finnes. Veiviseren oppdaterer også distribusjonsdeskriptoren application.xml for det oppgitte EAR-prosjektet og definerer web-prosjektet som modulelement. Hvis du importerer en WAR-fil i stedet for å opprette et nytt dynamisk web-prosjekt, krever WAR-importveiviseren at du oppgir et web-prosjekt, som allerede krever et EAR-prosjekt.

J2EE-konvensjoner kan representere ekstra systemadministrasjon hvis du bare vil opprette en statisk, innholdsbasert web-applikasjon som ikke inneholder dynamiske filer som f.eks. JSP-filer eller servletter. I så fall kan du, hvis du bare trenger et grunnleggende web-prosjekt, bruke den statiske web-prosjekttypen (se Statiske web-prosjekter). Merk at statiske web-prosjekter kan konverteres til dynamiske web-prosjekter ved å velge Konverter til et dynamisk web-prosjekt fra Prosjekt-menyen.

J2EE-modellen, og mer spesifikt Sun Microsystems Java Servlet 2.3-spesifikasjonen, definerer en katalogstruktur for web-applikasjoner som spesifiserer plassringen til web-innholdsfiler, klassefiler, klassebaner, distribusjonsdeskriptorer og støttende metadata. Web-prosjekthierarkiet gjenspeiler hierarkiet til web-applikasjonen som ble opprettet av prosjektet. På arbeidsbenken kan du bruke veiviseren Nytt web-prosjekt til å opprette et nytt web-prosjekt.

Hovedprosjektmappen inneholder alle utviklingsobjekter knyttet til en web-applikasjon. Web-innholdsmappen inneholder de elementene i prosjektet som er nødvendige for å opprette en web-applikasjon. Denne mappen strukturerer tilordninger til WAS-strukturen (Web application archive) definert av Sun Microsystems. Følgende standardelementer befinner seg i web-prosjektets mappehierarki:
Merk: I Prosjektutforsker-visninger filtreres web-prosjekter i mappenoder slik at visningen av web-ressurser kan tilpasses for å forenkle administrasjonen under utviklingen. Du finner opplysninger om den filtrerte strukturen i Prosjektutforsker-visningen.
Web-distribusjonsdeskriptor
Distribusjonsdeskriptor for standardweb-applikasjon (filen web.xml).
JavaSource
Inneholder prosjektets Java-kildekode for klasser, bønner og servletter. Når disse ressursene legges til et web-prosjekt, kompileres de automatisk, og de genererte filene legges til WEB-INF/classes-katalogen. Innholdet i kildekatalogen pakkes ikke i WAR-filer med mindre det ble oppgitt et valg for det da WAR-filen ble opprettet.
Merk: Selv om standardnavnet som er tildelt mappen, er JavaSources, kan du endre det ved å høyreklikke på navnet i Prosjektutforsker og klikke på Refaktoriser > Endre navn.
Mappen imported_classes
Denne mappen kan bli opprettet under en WAR-import, og den inneholder klassefiler som ikke har ledsagende kilde. Mappen imported_classes er en Java-klassemappe; Java-klassemapper kan også opprettes ved hjelp av web-prosjektets egenskapsside Java-byggebane.
WebContent-mappen
Den obligatoriske plasseringen til alle web-ressurser, inkludert HTML, JSP, grafikkfiler osv. Hvis filene ikke ligger i denne katalogen (eller i en underkatalog under den), blir ikke filene tilgjengelige når applikasjonen utføres på en server. Web-innholdsmappen representerer innholdet i WAR-filen som skal distribueres til serveren. Alle filer som ikke er under web-innholdsmappen, anses som utviklingsressurser (for eksempel .java-filer, .sql-filer og .mif-filer) og distribueres ikke når prosjektet enhetstestes eller publiseres.
Merk: Selv om standardnavnet som er tildelt mappen, er WebContent, kan du endre navnet i prosjektutforskeren ved å høyreklikke på mappen og velge RefaktoriserEndre navn, eller fra web-siden til prosjektets Egenskaper-dialog. I et dynamisk web-prosjekt vil endring av mappenavnet oppdatere utdatakatalogen for Java-bygget.
META-INF
Denne katalogen inneholder filen MANIFEST.MF, som brukes til å tilordne klassebaner for avhengige JAR-filer som finnes i andre prosjekter i samme Enterprise Application-prosjekt. En oppføring i denne filen vil oppdatere kjøretidsprosjektets klassebane og Java-byggeinnstillingene til å inkludere de refererte JAR-filene.
theme
Foreslått katalog for overlappende stilark og andre stilrelaterte objekter.
WEB-INF
Basert på Sun Microsystems' Java Servlet 2.3-spesifikasjon. Denne katalogen inneholder støttende web-ressurser for en web-applikasjon, inkludert filen web.xml og klassene og bibliotekkatalogene.
/classes
Denne katalogen er for servletter, funksjonsklasser og Java-kompilatorens utdatakatalog. Klassene i denne katalogen brukes av applikasjonens klasselaster til å laste inn klassene. Mappene i denne katalogen vil også tilordne pakke- og klassenavn, som i /WEB-INF/classes/com/mycorp/servlets/MyServlet.class.

Ikke plasser noen .class-filer direkte i denne katalogen. .class-filene legges automatisk i denne katalogen når Java-kompilatoren kompilerer Java-kildefiler som er i katalogen for Java-ressurser. Alle filer som plasseres direkte i denne katalogen, blir slettet av Java-kompilatoren når den kjøres.

/lib
Støttende JAR-filer som web-applikasjonen refererer til. Alle klasser i .jar-filer som plasseres i denne katalogen, vil være tilgjengelige for web-applikasjonen.
Biblioteker
Støttende JAR-filer som web-applikasjonen refererer til. Denne mappen gjenspeiler innholdet i bibliotekmappen. I tillegg inkluderes web-bibliotekprosjekter, som er "virtuelle" JAR-filer som ikke fysisk ligger i web-prosjektet, men er knyttet til Java-prosjektet annensteds i arbeidsområdet, i denne mappen. De pakkes med prosjektet når du eksporterer applikasjonens WAR-fil.
Merk: En bibliotekoppføring i Java-byggebanen vil fortsatt være der med mindre den faktiske JAR-filen slettes fra WEB-INF/lib-mappen. Hvis du fjerner en bibliotekbaneoppføring, men ikke JAR-filen, blir bibliotekoppføringen på nytt lagt til banen automatisk.
Beslektede begreper
Web-ressurser
Web-arkivfiler (WAR-filer)
Beslektede oppgaver
Opprette et dynamisk web-prosjekt
Opprette JSP-filer (JavaServer Pages)