[SERVLET] recuperer son path d'execution

recuperer son path d'execution [SERVLET] - Java - Programmation

Marsh Posté le 27-02-2003 à 13:05:38    

j aurais besoin de connaitre le path d'où est lancé la servlet par tomcat dans mon fichier mainservlet.class.
Comment on fait ?
merci de vos réponses
 

Reply

Marsh Posté le 27-02-2003 à 13:05:38   

Reply

Marsh Posté le 27-02-2003 à 14:14:25    

getServletContext.getRealPath(request.getRequestURI()) ??

Reply

Marsh Posté le 27-02-2003 à 14:19:07    

Ou  

Code :
  1. getServletContext.getRealPath(/.);

Reply

Marsh Posté le 27-02-2003 à 14:25:51    

El_gringo a écrit :

Ou  
 
getServletContext.getRealPath(/.);
 


 :??:


Message édité par benou le 27-02-2003 à 14:26:01
Reply

Marsh Posté le 27-02-2003 à 14:56:51    


Tout dans la précipitation, et après il passe deux heures à se demander pourquoi cette *@$£¤ de servlet arrive pas à retrouver cette @*µ¤£ de JSP...

Reply

Marsh Posté le 27-02-2003 à 17:33:09    

merci pour ces réponses.
Cependant j aurais voulu pouvoir bénéficier de cette information dans mon init() avec le DoGet et DoPost. Est ce possible? je me doute de la réponse. Car ce path me sert à ouvrir un fichier conf du DD présent dans le defaultroot du projet jbuilder. Ca éviterait de l'ouvrir à chaque requête GET ou POST.
Autre question: sous jbuilder, lorque je reconstruit mon projet, le fichier war contient WEb-INF mon répertoire images mais ne prend pas les autres répertoires qui sont au même niveau. Le war ne prend t'il pas automatiquement tous les fichiers et répertoires contenus dans le defaultroot?
merci


Message édité par BiOxyde le 27-02-2003 à 17:34:52
Reply

Marsh Posté le 27-02-2003 à 18:00:24    

pour la derniere question j ai trouve.
JBuilder fait u filtre sur les fichiers qu il ajoute dans le WAR.Du coup mes répertoires n étaient pas importés car vide, car contenant des fichiers non listés par JBuilder. Cette liste de fichier peut elle être modifiée?

Reply

Marsh Posté le 27-02-2003 à 18:02:24    

c'est quoi exactement le path que tu veux récupérer ?

Reply

Marsh Posté le 27-02-2003 à 18:11:24    

le code que tu m as file marche bien.
je recupere bien:
C:\Program Files\Apache Group\Tomcat 4.1\webapps\ma_servlet
 
Mais ce code nécessite l objet request disponible dans le DoGet ou Dopost mais pas dans l'init() de ma servlet.
Comme ce path va me permettre de loader un fichier de config (de la meme forme qu un ficher INI) et que ce dernier est deployé dans le WAR et que j ai besoin de connaitre le path absolu (et pas relatif), je voudrais disposer du path dans le init() pour pas ouvrir le fichier à chaque http request.
en esperant avoir ete clair

Reply

Marsh Posté le 27-02-2003 à 18:41:47    

ben c'est pas possible de faire ce que tu veux : une servlet peut avoir plusieurs mapping différents.
 
Le plus simple c'est que tu mettes en init-param de ta servlet le chemin relatif (au context-root) du fichier de config et dans le init de ta servlet, tu fasses :
 

Code :
  1. new FileInputStream(getServletContext().getRealPath("/" ), getInitParamerter("configFile" ));


 
ou plus simple :  
 

Code :
  1. getServletContext().getResourceAsStream(getInitParamerter("configFile" ));

Reply

Sujets relatifs:

Leave a Replay

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