akilelkamel /
POO-Java
Ce dépôt contient le matériel pédagogique du cours Programmation Java.
Loading repository data…
sofiane-cheriette / repository
Ce dépôt contient le TP de conteneurisation d'une application web Java Servlet/JSP (Boutique ESIEE). L'objectif est d'écrire un Dockerfile multi-stage pour compiler le code avec Maven (Java 17) et le déployer sur Tomcat 10.1 (Jakarta EE 10). Le conteneur servira de cible pour des tests Selenium.
Ce projet est une application web Java (Servlet/JSP) empaquetee en WAR. Le but du TP est de construire, containeriser et executer l'application avec Docker.
Nom du projet: boutique-web
Technos:
Points importants du pom.xml:
packaging: warfinalName: boutiqueConsequence:
target/boutique.war/login)/catalogue)/panier)/logout)Comptes de test:
alice / alice123bob / bob456admin / adminInstaller:
Verifier:
java -version
mvn -version
docker version
Depuis la racine du projet:
mvn clean package
Resultat attendu:
target/boutique.warCreer un fichier Dockerfile a la racine du projet avec le contenu suivant:
FROM maven:3.9.9-eclipse-temurin-17 AS build
WORKDIR /app
COPY pom.xml .
COPY src ./src
RUN mvn -B -DskipTests clean package
FROM tomcat:10.1-jdk17-temurin
# Supprime les applis par defaut de Tomcat
RUN rm -rf /usr/local/tomcat/webapps/*
# finalName du pom.xml = boutique => boutique.war
COPY --from=build /app/target/boutique.war /usr/local/tomcat/webapps/ROOT.war
EXPOSE 8080
CMD ["catalina.sh", "run"]
Pourquoi ROOT.war:
/) au lieu de /boutique.docker build -t boutique-web:tp .
docker run -d --name boutique-web -p 8080:8080 boutique-web:tp
Ouvrir dans le navigateur:
http://localhost:8080/Attendu:
Lister les images:
docker images
Lister les conteneurs:
docker ps -a
Voir les logs:
docker logs -f boutique-web
Arreter/supprimer le conteneur:
docker stop boutique-web
docker rm boutique-web
Supprimer l'image:
docker rmi boutique-web:tp
mvn clean package).docker build).docker ps).localhost:8080.Symptome:
COPY pom.xml echoueCause probable:
Solution:
docker build depuis le dossier qui contient pom.xmlSymptome:
targetCause probable:
Solution:
boutique.war (car finalName vaut boutique)Symptome:
docker run -p 8080:8080Solution:
docker run -d --name boutique-web -p 8081:8080 boutique-web:tp
Puis ouvrir:
http://localhost:8081/DockerfileREADME.md (ce document)docker ps + docker logsboutique_web_students/
|- pom.xml
|- Dockerfile
|- README.md
|- src/
| |- main/
| |- java/fr/boutique/servlet/
| |- webapp/
| |- css/style.css
| |- WEB-INF/
| |- web.xml
| |- jsp/
|- target/
mvn clean packagetarget/boutique.warDockerfiledocker build -t boutique-web:tp .docker run -d --name boutique-web -p 8080:8080 boutique-web:tphttp://localhost:8080/TP termine si toutes les validations de la section 8 sont OK.
Selected from shared topics, language and repository description—not editorial ratings.
akilelkamel /
Ce dépôt contient le matériel pédagogique du cours Programmation Java.
MohamedBarbych /
Ce dépôt contient un TP pour pratiquer le développement d'applications Java EE en utilisant Struts pour le contrôle de flux et Hibernate pour la gestion de la base de données. Il s'agit d'une application simple illustrant les concepts de base du MVC avec persistance des données.
Gbilimou22 /
Ce depot contient plusieurs exercices d'entrainement
nanohubsuite /
Ce dépôt contient tous les exercices liés au livre "Les bases du web - Html5, Css3, JavaScript", vendu sur Amazon. Ce livre est protégé et déposé à l'INPI. Toute reproduction est interdite. Seuls les exercices sont mis gratuitement à disposition.
youssefoubens /
Ce dépôt contient une implémentation d'une architecture faiblement couplée en Java.
CodeGarageFrance /
Ce dépôt contient tous les exemples de code utilisé dans le cours correspondant sur Code-Garage !