2009-12-29 7 views
1

Je la structure du dossier suivantXML + Ecrire à Chemin relatif

TempProj 
!-js 
!-jsp 
!-WEB-INF 
    !-classes 
    !-lib 

Dans mon dossier lib, j'ai un fichier java qui crée un fichier XML, j'ai réellement besoin du fichier à générer dans le dossier de jsp .

Je crée en utilisant StreamResult result = new StreamResult ("test.xml");

J'ai essayé de donner les chemins suivants "../../jsp/text.xml". Depuis que je l'ai déployé, le chemin doit être relatif.

Toute aide !!

Répondre

0

Quel serveur d'applications utilisez-vous? Si vous utilisez Websphere (éventuellement d'autres, mais je ne sais pas), vous devrez peut-être configurer une URL de fichier et utiliser JNDI pour déléguer le travail de recherche du répertoire sur le serveur App lui-même.

Comme une expérience pour jeter plus de lumière sur le problème, vous pouvez essayer quelque chose comme:

File nopath = new File("text.xml"); 
System.out.println(nopath.getCanonicalPath()); 

Et:

File relpath = new File("../../jsp/text.xml"); 
System.out.println(relpath.getCanonicalPath()); 

Je me demande si vous allez être en mesure de le faire. ..J'ai un sentiment (et c'est tout ce qu'il est, s'il vous plaît vérifier!) Que le gestionnaire de sécurité App Server pourrait ne pas aimer vous essayer de traverser et hors du répertoire ....

Vous voudrez peut-être recon sider ne crée pas de fichier sur disque - créez plutôt une nouvelle servlet qui sert dynamiquement le XML ... (en supposant que vous ayez besoin du navigateur client pour voir du code XML en fin de compte ...).

+0

J'utilise Tomcat – Vivek

+0

Bozho, le second fonctionnait parfaitement. Merci – Vivek

+0

Ce n'était pas vraiment moi. Je viens d'éditer une erreur technique dans la deuxième variante. Mais comme le message est incorrectement marqué comme "wiki de communauté", l'auteur original n'apparaît pas. – Bozho