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