Web-projekteja on kahdenlaisia: dynaamisia ja staattisia. Dynaamiset Web-projektit voivat sisältää dynaamisia J2EE-resursseja, kuten palvelinsovelmia, JSP-tiedostoja, suodattimia ja liitettyä metatietoa, sekä staattisia resursseja, kuten kuvia ja HTML-tiedostoja. Staattiset Web-projektit sisältävät vain staattisia resursseja. Kun luot Web-projekteja, voit sisällyttää css-tyylitiedostoja ja JSP-tunnistekirjastoja (dynaamisia Web-projekteja varten), jolloin käytettävissäsi on enemmän projektiresursseja aloittaessasi kehitystä.
Dynaamiset Web-projektit sisältyvät aina yrityssovellusprojekteihin. Dynaamisen Web-projektin luontiin käytettävä ohjattu toiminto luo myös yrityssovellus (EAR) -projektin, jos sitä ei vielä ole. Ohjattu toiminto päivittää lisäksi määritetyn yrityssovellusprojektin käyttöönoton kuvaajan application.xml, joka määrittää Web-projektin moduulielementiksi. Jos tuot WAR-tiedoston etkä luo uutta dynaamista Web-projektia, ohjattu WAR-tuontitoiminto edellyttää Web-projektin määritystä, johon tarvitaan EAR-projekti.
J2EE-käytännöt saattavat lisätä resurssinkäyttöä turhaan, jos haluat vain luoda staattisen, sisältöön perustuvan Web-sovelluksen, joka ei sisällä JSP-tiedostojen tai palvelinsovelmien kaltaisia dynaamisia tiedostoja. Jos haluat luoda vain Web-perusprojektin, voit käyttää staattista Web-projektien lajia (katso Staattiset Web-projektit).
Huomaa, että staattiset Web-projektit voidaan muuntaa dynaamisiksi Web-projekteiksi valitsemalla Projekti-valikosta Muunna dynaamiseksi Web-projektiksi -vaihtoehto.
J2EE-mallin Sun Microsystems Java Servlet
2.3 Specification -määrityksessä määritetään Web-sovelluksen hakemistorakenne, eli Web-sisältötiedostojen, luokkatiedostojen, käyttöönoton kuvaajien ja tukevien metatietojen sijainti. Web-projektin hierarkia vastaa projektista luodun Web-sovelluksen hierarkiaa. Voit luoda työympäristössä uuden Web-projektin käyttämällä ohjattua uuden Web-projektin luontitoimintoa.
Projektin pääkansio sisältää kaikki Web-sovellukseen liittyvät kehitysobjektit. Web-sisältökansio sisältää projektin elementit, joita tarvitaan Web-sovelluksen luontia varten. Tämän kansion rakenne vastaa Web-sovellusarkiston (WAR) rakennetta, jonka Sun Microsystems on määrittänyt. Seuraavat oletuselementit ovat Web-projektin kansiohierarkiassa:
Huomautus: Projektien selausnäkymässä Web-projektit suodattuvat kansiosolmuihin, jolloin Web-resurssien esitystapa helpottaa hallintaa sovelluskehityksen aikana. Lisätietoja suodatetusta rakenteesta on kohdassa
Projektien selausnäkymä.
- Web-käyttöönoton kuvaaja
- Standardi Web-sovelluksen käyttöönoton kuvaaja (web.xml-tiedosto).
- JavaSource
- Sisältää projektin Java-lähdekoodin luokkia, bean-komponentteja ja palvelinsovelmia varten. Kun nämä resurssit lisätään Web-projektiin, järjestelmä kääntää ne automaattisesti ja lisää luodut tiedostot WEB-INF/classes-hakemistoon. Lähdehakemiston sisältöä ei pakata WAR-tiedostoihin, ellei tätä asetusta ole määritetty WAR-tiedoston luonnin yhteydessä.
Huomautus: Kansion oletusnimi on JavaSources, mutta voit vaihtaa nimeä napsauttamalla sitä hiiren kakkospainikkeella projektien selausnäkymässä ja valitsemalla .
- imported_classes-kansio
- Järjestelmä saattaa luoda tämän kansion WAR-tuonnin yhteydessä. Kansiossa on luokkatiedostoja, joihin ei liity lähdettä. Kansio imported_classes on Java-luokkien kansio;
Java-luokkien kansion voi luoda myös käyttämällä Web-projektin Java-koontipolku-ominaisuussivua.
- WebContent-kansio
- Kaikkien Web-resurssien, kuten HTML-, JSP- ja kuvatiedostojen pakollinen sijainti. Jos tiedostoja ei sijoiteta tähän hakemistoon (tai tämän hakemiston alihakemistorakenteeseen), tiedostot eivät ole käytettävissä, kun sovellus ajetaan palvelimessa. Web-sisältökansio vastaa palvelimeen käyttöönotettavan WAR-tiedoston sisältöä. Järjestelmä käsittelee Web-sisältökansion ulkopuolisia tiedostoja (esimerkiksi .java-, .sql- ja .mif-tiedostoja) sovelluskehitysvaiheen resursseina, eikä niitä oteta käyttöön, kun projektille tehdään yksikkötesti tai projekti julkaistaan.
Huomautus: Kansion oletusnimi on WebContent, mutta voit vaihtaa nimeä napsauttamalla kansiota hiiren kakkospainikkeella projektien selausnäkymässä ja valitsemalla KoodinparannusNimeä uudelleen. Nimeä voi vaihtaa myös projektin Ominaisuudet-valintaikkunan Web-sivulla. Dynaamisessa Web-projektissa kansion nimen muuttaminen päivittää myös Java-koontitulosteen hakemiston.
- META-INF
- Tässä hakemistossa on MANIFEST.MF-tiedosto, jonka avulla määritetään sellaisten alisteisten JAR-tiedostojen luokkapolkujen vastaavuudet, jotka ovat saman yrityssovellusprojektin muissa projekteissa. Tähän tiedostoon tehty merkintä päivittää ajonaikaisen projektin luokkapolun ja Java-koontiasetukset niin, että ne sisältävät viitatut JAR-tiedostot.
- theme
- CSS-tyylitiedostojen ja muiden tyyliin liittyvien objektien suositeltu hakemisto.
- WEB-INF
- Sun Microsystems Java Servlet 2.3 Specification -määritykseen perustuen tämä hakemisto sisältää Web-sovelluksen Web-tukiresurssit, kuten web.xml-tiedoston, luokat ja lib-hakemistot.
- /classes
- Tässä hakemistossa ovat palvelinsovelmat, apuohjelmaluokat ja Java-kääntäjän tuloshakemisto. Sovellusluokkien lataustoiminto käyttää tämän hakemiston luokkia luokkien lataukseen. Hakemiston kansiot määrittävät pakkausten ja luokkien nimien vastaavuudet, esimerkiksi: /WEB-INF/classes/com/mycorp/servlets/MyServlet.class.
Älä sijoita .class-tiedostoja suoraan tähän hakemistoon. Järjestelmä sijoittaa .class-tiedostot automaattisesti tähän hakemistoon, kun Java-kääntäjä kääntää Java-resurssien hakemistossa olevat
Java-lähdetiedostot.
Java-kääntäjä poistaa ajon yhteydessä kaikki suoraan tähän hakemistoon sijoitetut tiedostot.
- /lib
- JAR-tukitiedostot, joihin Web-sovellus viittaa. Kaikki tähän hakemistoon sijoitetut .jar-tiedostojen luokat ovat Web-sovelluksen käytettävissä.
- Libraries
- JAR-tukitiedostot, joihin Web-sovellus viittaa. Tämä kansio peilaa lib-kansion sisällön. Lisäksi tässä kansiossa on Web-kirjastoprojekteja, jotka ovat JAR-näennäistiedostoja ja jotka eivät fyysisesti sijaitse missään Web-projektissa, vaan liittyvät muualla työtilassa oleviin Java-projekteihin. Järjestelmä pakkaa ne projektin kanssa, kun viet sovelluksen WAR-tiedoston.
Huomautus: Java-koontipolun kirjastomerkintä pysyy paikallaan, ellei varsinaista JAR-tiedostoa poisteta WEB-INF/lib-kansiosta. Jos poistat kirjastomerkinnän mutta et JAR-tiedostoa, järjestelmä lisää kirjastomerkinnän automaattisesti uudelleen polulle.