path dans une servlet

path dans une servlet - Java - Programmation

Marsh Posté le 22-08-2003 à 16:17:00    

Bonjour,
J'ai un problème avec une servlet. J'ai des fichiers dans un répertoire d'un serveur.
A partir d'une base de données je recrée le nom des fichiers et je permet aux personnes allant sur le site de les downloader.
Or le fichier n'existe pas forcément dans le répertoire.
 
J'essaye donc de créer un fichier dans ma servlet mais je n'arrive pas à récupérer le path de ma servlet (J'ai essayé avec un chemin relatif mais ca ne marche pas)
 
Si quelqu'un pouvait m'aider ...
 
Merci

Reply

Marsh Posté le 22-08-2003 à 16:17:00   

Reply

Marsh Posté le 22-08-2003 à 16:19:43    

dans ta servlet :

Code :
  1. String tonPath = getContext().getRealPath("/" );


 
J'pense. A essayer.

Reply

Marsh Posté le 22-08-2003 à 16:25:33    

ca marche : ca retourne le chemin absolue vers le répertoire de stockage de la web-app
 
attention : de la web-app, pas de la servlet !


Message édité par benou le 22-08-2003 à 16:25:51

---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 22-08-2003 à 16:37:01    

benou a écrit :

ca marche : ca retourne le chemin absolue vers le répertoire de stockage de la web-app
 
attention : de la web-app, pas de la servlet !


 
Il ne reconnait pas la methode getContext dans la servlet

Reply

Marsh Posté le 22-08-2003 à 16:37:55    

tomlameche a écrit :


 
Il ne reconnait pas la methode getContext dans la servlet


 
[:wam]


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 22-08-2003 à 16:44:00    


 
il ne reconnait pas getContext() dans ma servlet peut être ai-je oublié d'implémenter une interface.
Par contre il reconnait getServletContext mais le code suivant retourne : null
 
J'ai essayé response.getWriter().println(getServletContext().getRealPath("/" ));
 

Reply

Marsh Posté le 22-08-2003 à 16:46:38    

tomlameche a écrit :


 
il ne reconnait pas getContext() dans ma servlet peut être ai-je oublié d'implémenter une interface.
Par contre il reconnait getServletContext mais le code suivant retourne : null
 
J'ai essayé response.getWriter().println(getServletContext().getRealPath("/" ));
 
 


 
oui bin c'est getServletContext() quoi :o


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 22-08-2003 à 16:47:58    

DarkLord a écrit :


 
oui bin c'est getServletContext() quoi :o


 
Soit, mais pourquoi ca retourne null ???

Reply

Marsh Posté le 22-08-2003 à 16:48:35    

tomlameche a écrit :


 
Soit, mais pourquoi ca retourne null ???


 
 :(  euh ...


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 22-08-2003 à 16:49:22    

tomlameche a écrit :


 
il ne reconnait pas getContext() dans ma servlet peut être ai-je oublié d'implémenter une interface.
Par contre il reconnait getServletContext mais le code suivant retourne : null
 
J'ai essayé response.getWriter().println(getServletContext().getRealPath("/" ));


 
Ouais, getServletContext, c'est ça.
Et si ça te rend "null", lis la doc, il peut y a voir plusieurs raisons :


This method returns null  if the servlet container cannot translate the virtual path to a real path for any reason (such as when the content is being made available from a .war archive).

Reply

Marsh Posté le 22-08-2003 à 16:49:22   

Reply

Marsh Posté le 22-08-2003 à 16:50:49    

El_gringo a écrit :


 
Ouais, getServletContext, c'est ça.
Et si ça te rend "null", lis la doc, il peut y a voir plusieurs raisons :


This method returns null  if the servlet container cannot translate the virtual path to a real path for any reason (such as when the content is being made available from a .war archive).




 
 :sweat:

Reply

Marsh Posté le 22-08-2003 à 16:51:55    


 
Ta web-app se trouverai pas dans un .war par hasard ?
Par contre, j'ai pas compris pour quelle raison t'as besoin de ce chemin...

Reply

Marsh Posté le 22-08-2003 à 17:02:46    

El_gringo a écrit :


 
Ta web-app se trouverai pas dans un .war par hasard ?
Par contre, j'ai pas compris pour quelle raison t'as besoin de ce chemin...


je crée des liens dans une page WEB à partir d'une BDD, mais les liens créés n'ont pas forcément de fichier correspondant dans le fichier du serveur.
J'ai donc besoin du path car je doit vérifier si le fichier existe (Je n'ai pas réussi à récupérer le fichier à l'aide d'un path relatif).
je crée donc file fl = new file(getServletContext().getRealPath("/" ) + nom_fichier[i] );
if fl.exist() {
...
} else {...}
 

Reply

Marsh Posté le 22-08-2003 à 17:04:34    

El_gringo a écrit :


 
Ta web-app se trouverai pas dans un .war par hasard ?
Par contre, j'ai pas compris pour quelle raison t'as besoin de ce chemin...


 
Je ne peux pas te dire si ma web-app est dans un .war d'autant plus que je ne sais absolument pas ce qu'est un .war  [:spamafote]  

Reply

Marsh Posté le 22-08-2003 à 17:07:03    

tomlameche a écrit :


je crée des liens dans une page WEB à partir d'une BDD, mais les liens créés n'ont pas forcément de fichier correspondant dans le fichier du serveur.
J'ai donc besoin du path car je doit vérifier si le fichier existe (Je n'ai pas réussi à récupérer le fichier à l'aide d'un path relatif).
je crée donc file fl = new file(getServletContext().getRealPath("/" ) + nom_fichier[i] );
if fl.exist() {
...
} else {...}


 
Essaye avec "getResourceAsStream" de ServletConfig
Si ça te rend null : la resource n'existe pas.
Sinon c ok.

Reply

Marsh Posté le 22-08-2003 à 17:08:28    

tomlameche a écrit :


 
Je ne peux pas te dire si ma web-app est dans un .war d'autant plus que je ne sais absolument pas ce qu'est un .war  [:spamafote]  
 


 
Un .war, c'est comme un .jar mais pour une appli-web coté serveur. c'est un zip qui contient tous les éléments nécessaires au fonctionnement d'une web app. ces fichiers se terminent par ".war"

Reply

Marsh Posté le 22-08-2003 à 17:10:59    

El_gringo a écrit :


 
Un .war, c'est comme un .jar mais pour une appli-web coté serveur. c'est un zip qui contient tous les éléments nécessaires au fonctionnement d'une web app. ces fichiers se terminent par ".war"


C'est bien ce que j'avais déduit après une courte reflexion, héhéhé, j'ai l'air un peu con, là ...  :whistle:


---------------
Gérez votre collection de BD en ligne ! ---- Electro-jazzy song ---- Dazie Mae - jazzy/bluesy/cabaret et plus si affinité
Reply

Marsh Posté le 22-08-2003 à 17:45:44    

tomlameche a écrit :


 
Soit, mais pourquoi ca retourne null ???


au hasard : parce que tu as implémenter la méthode init(ServletConfig config) à la place de la méthode init() et que tu as oublié de faire super.init(config)


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed