# Java > Dveloppement Web en Java > Servlets/JSP >  request.getContextPath() ne pointe pas sur l'application web

## router_

Bonjour

j utilise Tomcat avec eclipse pour creer une application web. Le probleme c est que request.getContextPath()  pointe sur le repertoire ou eclipse est installe au lieu de pointer sur la racine de l application web. De meme, System.getProperty("user.dir") pointe sur le repertoire d installation d eclipse ( C:\User\Desktop\eclipse).
Par consequent, quand j essaie d ouvrir ou enregistrer un fichier en utilisant des chemins relatifs, ca me met tout dans le repertoire d installation d eclipse !! ce qui n a pas de sens.
Mon objectif c est de pouvoir changer le ContextPath pour toute l application.
Merci par avance pour toute reponse

Cordialement

----------


## tchize_

getContextPath retourne la portion de l'URL de la requete qui correspond  ton application.

Exemple, si on a tapp http://localhost:8080/maSuperApplication/index.html, ca retourne "maSuperApplication"

Dans une webapp, user.dir est  viter, valeur totalement arbitraire en fonction du dmarrage.

Tu cherche  obtenir quelle information exactement? Au fait le contextPath, c'est de la lecture seule et uniquement dpendant de comment tu as configur ton .war et ton serveur d'application.

----------


## router_

Merci pour votre reponse. Je cherche a obtenir la path de l application web.
supposons que je cree une appli PetStore. mon objectif c est de voir le chemin
C:\...\MyWorkSpace\PetStore.
Dans ce cas je vais pourvoir creer et ouvrir des fichier en utilisant des chemins relatifs. Par consequent, mon application sera independante de la plateform.

Merci par avance

----------


## tchize_

Mauvais ide de crer des fichiers l, suivant le conteneur:
-> il peuvent tre crass  chaque dmarrage. Par exemple jboss au dmarrage cre un dossier temporaire o il extrait le .war de l'applicaiton. Ce dossier n'est pas rutilis  chaque dmarrage.
-> il seront certainement cras  chaque mise  jour de l'application, car qui di nouveau .war dit effacement de l'ancien dossier.

La bonne pratique est de laisser votre client configurer dans une fichier o est le dossier de stockage qu'il veux utiliser pour les fichiers gnrs par l'application.

Pour savoir o a t dploy le war, il faut utliser

servletContext.getRealPath("/"), mais cette mthode peux renvoyer null dans certaines configurations.

----------


## router_

servletContext.getRealPath("/") a resolu mon probleme, merci bien

----------

