Bonjour à tous,
J'ai une appli utilisant Struts contenant des servlets et des actions. Mon problème se situe au niveau de l'accès des fichiers. En effet j'ai un fichier xml qui se situe sous WEB-INF/conf auquel j'aimerais accéder pour la parser (SAX). Mais voici le problème :
Lorsque je tente d'y accéder par ma servlet d'init (je lui passe le nom du fichier par un init parameter du web.xml ) je fais ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <param-name>configFilePath</param-name> <param-value>siteconfig.xml</param-value>Le problème de cette méthode est que le fichier doit se trouver dans le même répertoire que mon fichier InitServlet.class (cette méthode prend en compte le nom du package pour récup la ressource).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 String configFilePath = servletConfig.getInitParameter("configFilePath"); URL fileUrl = InitServlet.class.getResource(configFilePath);
J'ai ensuite essayé cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <param-name>configFilePath</param-name> <param-value>WEB-INF/conf/siteconfig.xml</param-value>Mais là il concatène le path de mon tomcat au lieu de concaténer le path de mon appli. Ce qui me donne ce chemin :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 String configFilePath = servletConfig.getInitParameter("configFilePath"); URL fileUrl = new File(configFilePath).toURL();
/home/bibi/tomcat/WEB-INF/conf/siteconfig.xml
au lieu de
/home/bibi/tomcat/webapps/monApp/ROOT/WEB-INF/conf/siteconfig.xml
Je pense que cette 2ème solution est un bon point de départ pour récupérer le chemin de mon fichier mais il me manque quelque chose je pense (sachant que le but est de ne rien mettre en dur au niveau du path, si ce n'est le chmin du fichier à l'intérieur de l'appli).
J'espère avoir été clair, je surveille le thread pour répondre au + vite
D'avance merci.
Partager