[Servlet/ActionServlet] Accès aux fichiers
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:
1 2
| <param-name>configFilePath</param-name>
<param-value>siteconfig.xml</param-value> |
Code:
1 2
| String configFilePath = servletConfig.getInitParameter("configFilePath");
URL fileUrl = InitServlet.class.getResource(configFilePath); |
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).
J'ai ensuite essayé cela :
Code:
1 2
| <param-name>configFilePath</param-name>
<param-value>WEB-INF/conf/siteconfig.xml</param-value> |
Code:
1 2
| String configFilePath = servletConfig.getInitParameter("configFilePath");
URL fileUrl = new File(configFilePath).toURL(); |
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 :
/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.