Existují dva typy webových projektů: dynamické a statické. Dynamické webové projekty obsahují dynamické prostředky J2EE, jako jsou servlety, soubory JSP, filtry a přidružená metadata - kromě statických prostředků, jako jsou obrázky a soubory HTML. Statické webové projekty mohou
obsahovat pouze statické prostředky. Když vytváříte webové projekty, můžete
zahrnout styly CSS a knihovny značek JSP (pro dynamické webové projekt), abyste mohli začít vývoj s bohatší sadou projektových prostředků.
Dynamické webové projekty jsou vždy vloženy v projektech podnikových aplikací.
Průvodce, jenž slouží k vytvoření dynamického webového projektu, také vytvoří projekt EAR (Enterprise Application) v případě, že ještě neexistuje. Průvodce
také zaktualizuje deskriptor implementace application.xml určeného projektu podnikové aplikace k definici webového projektu
jako prvek modulu. Pokud raději importujete soubor WAR, než vytváříte nový
dynamický webový projekt, průvodce importem WAR vyžaduje, abyste uvedli webový projekt, který již vyžaduje projekt EAR.
Konvence J2EE mohou představovat další režii v případě, že chcete vytvořit pouze
statickou webovou aplikaci založenou na obsahu, jež neobsahuje žádné dynamické soubory, jako jsou JSP nebo servlety. V tomto případě, když potřebujete pouze nejzákladnější webový projekt, zřejmě budete chtít použít statický typ webového projektu (viz Statické webové projekty). Poznámka: Statické webové projekty lze převést na dynamické výběrem položky
Převést na dynamický webový projekt z nabídky Projekt.
Model J2EE - přesněji řečeno specifikace Sun Microsystems Java Servlet
2.3 Specification - definuje adresářovou strukturu webové aplikace, která určuje umístění souborů s webovým obsahem, soubory tříd, cesty ke třídám, deskriptory implementace a podpůrná metadata. Hierarchie webového projektu odráží hierarchii z něj vytvořené webové aplikace. Na pracovní ploše můžete k vytvoření nového webového projektu použít
Průvodce novým webovým projektem.
Hlavní složka projektu obsahuje všechny vývojové objekty související s danou
webovou aplikací. Složka Webový obsah obsahuje prvky projektu nezbytné k vytvoření webové aplikace. Tato struktura složek mapuje strukturu souboru WAR (web application archive) definovanou společností Sun Microsystems. Následující výchozí prvky jsou umístěny v hierarchii složky webového projektu:
Poznámka: V pohledu Průzkumník projektů jsou webové projekty filtrovány do uzlů složek za účelem přizpůsobení zobrazení webových prostředků pro snadnou správu během vývoje.
Informace o filtrované struktuře viz
Pohled Průzkumník projektů.
- Deskriptor implementace webu
- Standardní deskriptor implementace webové aplikace (soubor web.xml).
- JavaSource
- Obsahuje zdrojový kód Java daného projektu pro třídy, objekty bean a servlety. Když jsou tyto prostředky přidány do webového projektu, dojde k jejich automatické kompilaci a přidání vygenerovaných souborů do adresáře WEB-INF/classes. Obsah zdrojového adresáře není zabalen do souborů WAR, není-li zadána příslušná volba při vytvoření souboru WAR.
Poznámka: Ačkoli výchozí název tohoto adresáře je JavaSources, lze jej změnit pravým klepnutím na něj v průzkumníku projektů a výběrem položek .
- Složka imported_classes
- Tato složka může být vytvořena při importu souboru WAR - obsahuje soubory tříd,
jež nemají doprovodný zdrojový text. Složka imported_classes je složka tříd
Java. Složky tříd Java mohou být také vytvořeny pomocí stránek vlastností webového projektu
Cesty sestavení Java.
- Složka WebContent
- Povinné umístění všech webových prostředků včetně HTML, JSP, grafických
souborů atd. Nejsou-li soubory umístěny do tohoto adresáře (či do struktury podadresářů tohoto adresáře), nebudou k dispozici při spuštění dané aplikace
na serveru. Složka Webový obsah představuje obsah souboru WAR, jenž bude implementován na daný server. Všechny soubory neumístěné do složky Webový obsah
budou považovány za prostředky v době vývoje (například soubory .java, .sql a .mif), a nebudou implementovány při jednotkovém testování či publikaci projektu.
Poznámka: Ačkoli výchozí název této složky je WebContent, lze jej změnit pravým klepnutím na něj v průzkumníku projektů a výběrem položek PředeklarovatPřejmenovat nebo z webové stránky s dialogovým oknem Vlastnosti daného projektu. V dynamickém webovém projektu tato změna názvu složky zaktualizuje výstupní adresář sestavení Java.
- META-INF
- Tento adresář obsahuje soubor MANIFEST.MF, jenž slouží k mapování cest ke třídám pro závislé soubory JAR existující v jiných projektech stejného
projektu podnikových aplikací. Položka v tomto souboru zaktualizuje
běhovou cestu ke třídám projektu a nastavení pro sestavení Java tak, aby obsahovala odkazované soubory JAR.
- theme
- Doporučený adresář k ukládání stylů CSS a jiných objektů týkajících se stylů.
- WEB-INF
- Tento adresář založený na specifikaci Sun Microsystems Java Servlet 2.3 Specification obsahuje podpůrné webové prostředky pro webovou aplikaci včetně souboru web.xml, tříd a adresářů s knihovnami.
- /classes
- Tento adresář je pro servlety, obslužné třídy a výstupní adresář kompilátoru Java. Třídy v tomto adresáři jsou používány zaváděčem tříd
aplikace k zavádění tříd. Složky v tomto adresáři namapují názvy balíčků
a tříd, jako v souboru: /WEB-INF/classes/com/mycorp/servlets/MyServlet.class.
Do tohoto adresáře
přímo neumísťujte žádné soubory .class. Soubory .class jsou umístěny do
tohoto adresáře automaticky, když kompilátor Java zkompiluje zdrojové soubory
Java, jež jsou v adresáři Prostředky Java.
Všechny soubory umístěné přímo do tohoto adresáře budou odstraněny kompilátorem Java po jeho spuštění.
- /lib
- Podpůrné soubory JAR, na něž se odkazuje webová aplikace. Všechny třídy
v souborech .jar umístěné do tohoto adresáře budou k dispozici pro danou webovou aplikaci.
- Knihovny
- Podpůrné soubory JAR, na něž se odkazuje webová aplikace. Tato složka odráží
obsah složky lib. Kromě toho jsou v této složce obsaženy projekty webové knihovny, což jsou "virtuální" soubory JAR fyzicky neumístěné do webového projektu, ale přidružené k projektům Java jinde v daném pracovním prostoru. Jsou zabaleny s daným projektem, když
exportujete soubor WAR příslušné aplikace.
Poznámka: Položka knihovny na cestě sestavení Java zůstane, pokud ovšem nedojde k odstranění vlastního souboru JAR ze složky WEB-INF/lib. Pokud odeberete položku cesty ke knihovně, ale nikoli soubor JAR, bude položka knihovny znovu automaticky přidána na danou cestu.