Projets Web dynamiques et applications

Il existe deux types de projet Web : dynamiques et statiques. Les projets Web dynamiques peuvent contenir des ressources Web dynamiques J2EE, telles que des servlets, des fichiers JSP, des filtres et les métadonnées associées, en plus de ressources statiques, telles que des images et des fichiers HTML. Les projets Web statiques contiennent uniquement des ressources statiques. Lorsque vous créez des projets Web, vous pouvez inclure des feuilles de style en cascade et des bibliothèques de balises JSP (pour les projets Web dynamiques) pour que vous puissiez commencer le développement avec un ensemble complet de ressources de projet.

Les projets Web dynamiques sont toujours incorporés aux projets d'application d'entreprise. L'assistant que vous utilisez pour créer un projet Web dynamique crée également un projet d'application d'entreprise (EAR) s'il n'existe pas. L'assistant met également à jour le descripteur de déploiement application.xml du projet d'application d'entreprise pour définir le projet Web comme élément de module. Si vous importez un fichier WAR au lieu de créer un projet Web dynamique, l'assistant d'importation WAR impose de définir un projet Web qui nécessite déjà un projet EAR.

Les conventions J2EE peuvent représenter un temps système supplémentaire si vous voulez créer uniquement une application Web basée sur du contenu statique ne contenant aucun fichier dynamique, tels que des fichiers JSP ou des servlets. Dans ce cas, lorsque vous avez besoin d'un projet Web minimum, vous pouvez utiliser le type de projet Web statique (voir Projets Web satiques). Notez que les projets Web statiques peuvent être convertis en projets Web dynamiques en sélectionnant Convertir en projet Web dynamique dans le menu Projet.

Le modèle J2EE, et plus particulièrement, la spécification Sun Microsystems Java Servlet 2.3, définit une structure de répertoires d'application Web qui spécifie l'emplacement des fichiers de contenu Web, les fichiers de classe, les chemins de classes, les descripteurs de déploiement et les métadonnées correspondantes. La hiérarchie des projets Web reflète celle de l'application Web créée depuis un projet. Dans le plan de travail, vous pouvez utiliser l'assistant Nouveau projet Web pour créer un projet Web.

Le dossier principal du projet contient tous les objets de développement associés à une application Web. Le dossier de contenu Web contient les éléments du projet nécessaires à la création d'une application Web. Cette structure de dossiers est mappée à la structure WAR (Web Application Archive) définie par Sun Microsystems. Les éléments par défaut suivants se trouvent dans la hiérarchie de dossiers du projet Web :
Remarque : Dans la vue Explorateur de projets, les projets Web sont filtrés dans des noeuds de dossiers pour personnaliser l'affichage des ressources Web et faciliter ainsi la gestion lors du développement. Pour plus d'informations sur la structure filtrée, voir Vue Explorateur de projets.
Descripteur de déploiement Web
Le descripteur de déploiement d'application Web standard (le fichier web.xml).
JavaSource
Contient le code source Java des classes, des beans et des servlets. Lorsque ces ressources sont ajoutées à un projet Web, elles sont automatiquement compilées, et les fichiers générés sont ajoutés au répertoire WEB-INF/classes. Le contenu du répertoire source n'est pas placé dans des fichiers WAR si aucune option n'est définie lors de la création d'un fichier WAR.
Remarque : Bien que le nom par défaut attribué au dossier soit JavaSources, vous pouvez changer le nom en cliquant avec le bouton droit de la souris sur le nom dans l'Explorateur de projets et en cliquant sur Propager les modifications > Renommer.
Dossier imported_classes
Ce dossier peut être créé au cours d'une importation WAR ; il contient les fichiers de classe n'ayant pas de source. Le dossier imported_classes est un dossier de classes Java. Les dossiers de classes Java peuvent être également créés en utilisant la page Propriétés du chemin de compilation Java du projet Web.
Dossier WebContent
Emplacement obligatoire de toutes les ressources Web, notamment des fichiers graphiques HTML, JSP, etc. Si les fichiers ne se trouvent pas dans ce répertoire (ou dans une structure de sous-répertoires de ce répertoire), les fichiers ne seront pas disponibles lors de l'exécution de l'application sur un serveur. Le dossier de contenu Web représente le contenu du fichier WAR qui sera déployé sur le serveur. Les fichiers qui ne se trouvent pas dans le dossier de contenu Web sont considérés correspondre à des ressources utilisées lors du développement (par exemple, fichiers .java, .sql et .mif) et ils ne sont pas déployés lorsque le projet est testé ou publié.
Remarque : Bien que le nom par défaut attribué au dossier soit WebContent, vous pouvez changer le nom dans l'Explorateur de projets en cliquant avec le bouton droit de la souris sur le dossier et en sélectionnant Propager les modificationsRenommer, ou à partir de la page Web de la boîte de dialogue Propriétés du projet. Dans un projet Web dynamique, le changement du nom du dossier met à jour le répertoire de sortie de compilation Java.
META-INF
Ce répertoire contient le fichier MANIFEST.MF qui est utilisé pour mapper les chemins de classes des fichiers JAR dépendants qui existent dans d'autres projets d'un même projet d'application d'entreprise. Une entrée de ce fichier met à jour le chemin de classe du projet lors de l'exécution et les paramètres de compilation Java pour inclure les fichiers JAR référencés.
theme
Répertoire proposé pour les feuilles de style en cascade et le autres objets associés au style.
WEB-INF
Basé sur la spécification Sun Microsystems Java Servlet 2.3, ce répertoire contient les ressources Web de support, notamment le fichier web.xml, les classes et les répertoires de bibliothèques.
/classes
Ce répertoire est destiné aux servlets, aux classes d'utilitaires et au répertoire de sortie de compilation Java. Les classes dans ce répertoire sont utilisées par le chargeur de classes d'application pour charger les classes. Les dossiers de ce répertoire mappe le package et les noms de classes, comme dans /WEB-INF/classes/com/mycorp/servlets/MyServlet.class.

Ne placez pas de fichiers .class directement dans ce répertoire. Les fichiers .class sont placés dans ce répertoire automatiquement lorsque le compilateur Java compile les fichiers sources Java qui se trouvent dans le répertoire des ressources Java. Les fichiers placés dans ce répertoire seront supprimés par le compilateur Java lors de son exécution.

/lib
Fichiers JAR de support référencés par l'application Web. Les classes dans les fichiers .jar de ce répertoire seront disponibles pour l'application Web.
Bibliothèques
Fichiers JAR de support que référence l'application Web. Ce dossier reflète le contenu du dossier lib. En outre, les projets de bibliothèque Web, qui sont des fichiers JAR "virtuels" ne résidant pas physiquement dans le projet Web, mais qui sont associés à des projets Java dans d'autres emplacements de l'espace de travail, sont inclus dans ce dossier. Ils sont placés dans le package du projet lorsque vous exportez le fichier WAR de l'application.
Remarque : Une entrée de bibliothèque dans le chemin de compilation Java reste dans cet emplacement si vous ne supprimez pas le fichier JAR du dossier WEB-INF/lib. Si vous supprimez une entrée de chemin de bibliothèque, mais pas le fichier JAR, l'entrée de bibliothèque est ajoutée de nouveau automatiquement au chemin.
Concepts associés
Ressources Web
Fichiers d'archive Web (WAR)
Tâches associées
Création d'un projet Web dynamique
Création de fichiers JSP (JavaServer Pages)