Istnieją dwa rodzaje projektów WWW: dynamiczne i
statyczne. Dynamiczne projekty WWW mogą zawierać
dynamiczne zasoby J2EE, na przykład serwlety, pliki JSP, filtry i
powiązane metadane, oprócz zasobów statycznych, takich jak obrazy i pliki
HTML. Statyczne projekty WWW zawierają tylko statyczne zasoby. Podczas tworzenia
projektów WWW można włączyć kaskadowe arkusze stylów oraz biblioteki znaczników JSP
(dla dynamicznych projektów WWW), aby rozpocząć projektowanie, mając do dyspozycji
bogatszy zestaw zasobów projektowych.
Dynamiczne projekty WWW są zawsze osadzone w projektach aplikacji
korporacyjnych. Kreator służący do tworzenia dynamicznych projektów WWW
utworzy także projekt EAR (Enterprise Application), jeśli taki jeszcze nie
istnieje. Kreator zaktualizuje także deskryptor wdrażania
application.xml określonego projektu aplikacji
korporacyjnej, aby projekt WWW był zdefiniowany jako element modułu. Jeśli
importujesz plik WAR zamiast tworzyć dynamiczny projekt WWW od nowa,
to kreator importu pliku WAR wymaga określenia projektu WWW, który wymaga już
projektu EAR.
Konwencje J2EE mogą stanowić dodatkowy narzut, jeśli użytkownik chce
tworzyć jedynie statyczną, opartą na treści aplikację WWW, która nie
zawiera plików dynamicznych, takich jak pliki JSP lub serwlety. W takim
przypadku, kiedy wystarczy najprostszy projekt WWW, użytkownik może
zechcieć użyć statycznego typu projektu WWW (patrz
Statyczne projekty WWW).
Należy mieć na uwadze, że statyczne projekty WWW można przekształcić w
projekty dynamiczne, wybierając z menu Projekt opcję Przekształć w
dynamiczny projekt WWW.
Model J2EE, a konkretnie Sun Microsystems
Java
Servlet 2.3 Specification, definiuje strukturę katalogów aplikacji
WWW, w której określone jest położenie plików treści WWW, plików klas,
ścieżek klas, deskryptorów wdrażania oraz pomocniczych metadanych. Hierarchia
projektu WWW odzwierciedla hierarchię aplikacji WWW utworzonej z projektu. W
środowisku roboczym można użyć kreatora Nowy projekt WWW, aby
utworzyć nowy projekt WWW.
Główny folder projektu zawiera wszystkie obiekty programistyczne
związane z aplikacją WWW. Folder treści WWW zawiera elementy projektu
niezbędne do utworzenia aplikacji WWW. Ta struktura folderu jest
odwzorowana na strukturę archiwum aplikacji WWW (WAR) zdefiniowaną przez
firmę Sun Microsystems. W hierarchii folderów projektu WWW znajdują się
następujące elementy domyślne:
Uwaga: W widoku Eksplorator projektów
projekty WWW są filtrowane do węzłów folderów, aby dostosować wyświetlanie
zasobów WWW i ułatwić zarządzanie podczas projektowania. Informacje
dotyczące struktury filtrowanej zawiera sekcja
Widok Eksplorator projektów.
- Deskryptor wdrażania WWW
- Standardowy Deskryptor wdrażania aplikacji WWW (plik
web.xml).
- JavaSource
- Zawiera kod źródłowy projektu w języku
Java
na potrzeby klas, komponentów bean i serwletów. Po dodaniu do projektu WWW
zasoby te są automatycznie kompilowane, a wygenerowane pliki są dodawane do katalogu
WEB-INF/classes. Treść katalogu źródłowego nie jest pakowana w pliki WAR, o ile nie
określono tej opcji podczas tworzenia pliku WAR.
Uwaga: Domyślna nazwa
nadawana temu folderowi to JavaSources, ale można ją zmienić, klikając prawym
przyciskiem myszy nazwę w Eksploratorze projektu i wybierając
opcje .
- Folder imported_classes
- Ten folder można utworzyć podczas importowania pliku WAR;
zawiera on pliki klas, którym nie towarzyszy kod źródłowy. Folder
imported_classes jest folderem klas Java;
foldery klas Java
można także tworzyć za pomocą strony właściwości projektu WWW
Ścieżka budowania Java.
- Folder WebContent
- Obowiązkowe miejsce na wszystkie zasoby WWW, w tym: pliki HTML, JSP,
graficzne itd. Jeśli pliki nie zostaną umieszczone w tym katalogu (lub w jego
strukturze podkatalogów), nie będą dostępne podczas wykonywania aplikacji na
serwerze. Folder treści WWW reprezentuje treść pliku WAR, który zostanie wdrożony na serwerze. Wszelkie pliki
s
Uwaga: Domyślna
nazwa nadawana temu folderowi to WebContent, ale można
ją zmienić w Eksploratorze projektu, klikając nazwę prawym przyciskiem myszy i
wybierając opcje RefaktoryzujZmień
nazwę, lub korzystając ze strony WWW okna dialogowego Właściwości projektu.
W dynamicznym projekcie WWW zmiana nazwy folderu spowoduje aktualizację
katalogu wyjściowego budowania Java.
- META-INF
- Ten katalog zawiera plik MANIFEST.MF, który służy
do odwzorowywania ścieżek klas dla zależnych plików JAR, które istnieją
w innych projektach w ramach tego samego projektu aplikacji korporacyjnej. Wpis w
tym pliku spowoduje aktualizację ścieżki klasy projektu w czasie wykonywania, a także
ustawień budowania Java
w celu włączenia plików JAR, do których istnieje odwołanie.
- kompozycja
- Zalecany katalog do przechowywania kaskadowych arkuszy stylów i innych
obiektów powiązanych ze stylami.
- WEB-INF
- Zgodnie ze specyfikacją Sun Microsystems
Java
Servlet 2.3 Specification ten katalog zawiera obsługujące aplikację
WWW zasoby WWW, w tym plik web.xml oraz klasy i
katalogi bibliotek.
- /classes
- Ten katalog jest przeznaczony dla serwletów i klas narzędziowych,
stanowi też katalog wyjściowy kompilatora języka
Java. Klasy w tym katalogu są używane przez program ładujący
klasy aplikacji do ładowania klas. Foldery w tym katalogu
odwzorowują nazwy pakietów i klas, na przykład:
/WEB-INF/classes/com/mycorp/servlets/MyServlet.class.
Nie należy umieszczać plików .class bezpośrednio w tym katalogu. Pliki
.class są umieszczane w nim automatycznie w czasie, gdy kompilator języka
Java
kompiluje pliki źródłowe Java
znajdujące się w katalogu Java Resources.
Wszelkie pliki umieszczone bezpośrednio w tym katalogu zostaną usunięte
p
- /lib
- Pomocnicze pliki JAR, do których odwołuje się aplikacja WWW. Wszelkie
klasy w plikach .jar umieszczone w tym katalogu będą dostępne dla
aplikacji WWW.
- Biblioteki
- Pomocnicze pliki JAR, do których odwołuje się aplikacja WWW. Ten
folder stanowi kopię lustrzaną folderu lib. Ponadto do tego folderu są
włączone projekty bibliotek WWW, będące "wirtualnymi" plikami JAR, które
nie istnieją fizycznie w projekcie WWW, ale są powiązane z projektami w
języku
Java
w innych miejscach obszaru roboczego. Są one pakowane wraz z projektem
podczas eksportowania pliku WAR aplikacji.
Uwaga: Wpis biblioteki w ścieżce budowania
Java
pozostanie nienaruszony, chyba że plik JAR zostanie usunięty z folderu WEB-INF/lib.
W przypadku usunięcia wpisu ścieżki biblioteki bez usuwania
pliku JAR wpis biblioteki zostanie automatycznie ponownie dodany do
ścieżki.