IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

[débutant][JSP] chemin d'accès au fichier


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de Astraya
    Homme Profil pro
    Consommateur de café
    Inscrit en
    Mai 2007
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Consommateur de café
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 048
    Par défaut [débutant][JSP] chemin d'accès au fichier
    Bonjour,
    Je doit réalisé une application jsp qui transforme une base de données sous fichier XML et un fichier xsl en une page web html. j'ai donc créer un projet web et y est mit ce bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <% File xmlFile = new File("C:/Users/Administrateur/Documents/NetBeansProjects/practica 3/src/java/ressource/bdd.xml");
         File xsltFile = new File("C:/Users/Administrateur/Documents/NetBeansProjects/practica 3/src/java/ressource/acceuil.xsl");
         File htmlFile = new File("C:/Users/Administrateur/Documents/NetBeansProjects/practica 3/src/java/ressource/result.html");
         Source xmlSource = new StreamSource(xmlFile);
         Source xsltSource = new StreamSource(xsltFile);
         Result htmlResult = new StreamResult(htmlFile);
         TransformerFactory transFact = TransformerFactory.newInstance();
         Transformer trans = transFact.newTransformer(xsltSource);
         trans.transform(xmlSource, htmlResult);%>
     
         <%@include file="C:/Users/Administrateur/Documents/NetBeansProjects/practica 3/src/java/ressource/result.html" %>
    le problème viens de ma dernière ligne( <%@include ... %>). La page html est rempli correctement, je la lit dans un navigateur web parfaitement.
    Le seule problème est que la dernière instruction ne trouve pas mon fichier.
    org.apache.jasper.JasperException: /index.jsp(30,10) Le fichier "/C:/Users/Administrateur/Documents/NetBeansProjects/practica 3/src/java/ressource/result.html" n'a pas été trouvé
    Alors je n'est pas trop compris pourquoi il le trouvais lors de mon new File et pas ici...
    Je ne comprend vraiment pas d'ou viens ce problème.
    Merci

  2. #2
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    Bonjour

    Contrairement à unix, sous windows le séparateur pour les répertoire est "\" et non "/".
    Dans les noms de fichiers, remplace donc "/" par "\\" (il faut doubler car \ est le caractère déchappement).

  3. #3
    Membre Expert Avatar de Astraya
    Homme Profil pro
    Consommateur de café
    Inscrit en
    Mai 2007
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Consommateur de café
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 048
    Par défaut
    D'accord merci,
    mais comment expliquer que les 3 première fonction File marche? j'ai vérifié et il me créer remplis bien mon html comme il faut et ce malgré les "/".
    Mais avec ta solution, il me donne une autre erreur.
    The path /../src/java/ressource/result.html specifies a resource outside the web application
    et quand je le lance malgré tout il ne le trouve pas. Je ne connais pas du tout jsp ( 2-3heure de théorie).

    Voici l'arborescence de mon projet:

    Images attachées Images attachées  

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Par défaut
    Citation Envoyé par iohack Voir le message
    Bonjour

    Contrairement à unix, sous windows le séparateur pour les répertoire est "\" et non "/".
    Dans les noms de fichiers, remplace donc "/" par "\\" (il faut doubler car \ est le caractère déchappement).
    Non non, Java accepte les 2 quelque soit l'OS, et le '/' reste conseillé dans les 2 cas. Seuls certains frameworks mal faits ont ce genre de restriction liée à l'OS.

    Le problème ici est qu'une JSP ne peut pas accéder au filesystem de ton serveur comme ça. Quoi qu'il arrive, seul le répertoire de ton appli web est accessible à tes JSP / classes (question de sécurité, entre autres). Spécifie donc ton chemin en prenant comme root la racine de ton appli, ça devrait marcher. Et je te conseille de trouver un meilleur emplacement pour tes ressources, car si tu essaies d'accéder à ton répertoire source oublie, il n'est pas déployé sur ton serveur d'appli.

  5. #5
    Membre Expert Avatar de Astraya
    Homme Profil pro
    Consommateur de café
    Inscrit en
    Mai 2007
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Consommateur de café
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 048
    Par défaut
    Très bien merci beaucoup mixouille,
    Je devrais donc mettre tout les documents dans le dossier Web-pages? et la racine de mon appli est le fichier index.jsp c'est ça? Si je déplois mon .war en mettant tout mes docs dans le dossier web-pages, il seront intergré a mon .war?

    Merci encore

  6. #6
    Membre Expert Avatar de Astraya
    Homme Profil pro
    Consommateur de café
    Inscrit en
    Mai 2007
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Consommateur de café
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 048
    Par défaut
    Bon sa s'améliore, voici ce que j'ai fait :
    1_ créer un dossier ressource dans le dossier web pages.
    2_ copier les fichiers XML, xsl, xsd et html dans le dossier ressource.
    3_ mit le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     <% File xmlFile = new File("C:/Users/Administrateur/Documents/NetBeansProjects/practica 3/web/ressource/bdd.xml");
                File xsltFile = new File("C:/Users/Administrateur/Documents/NetBeansProjects/practica 3/web/ressource/acceuil.xsl");
                File htmlFile = new File("C:/Users/Administrateur/Documents/NetBeansProjects/practica 3/web/ressource/result.html");
                Source xmlSource = new StreamSource(xmlFile);
                Source xsltSource = new StreamSource(xsltFile);
                Result htmlResult = new StreamResult(htmlFile);
                TransformerFactory transFact = TransformerFactory.newInstance();
                Transformer trans = transFact.newTransformer(xsltSource);
                trans.transform(xmlSource, htmlResult);%>
     
              <%@include file="ressource/result.html" %>
    donc tout marche dans ce sens mais je ne peut pas mettre juste
    ressource/bdd.xml
    ressource/acceuil.xsl
    ressource/result.html
    si je met ceci il ne me trouve pas les fichiers. je ne comprend pas vraiment, ne sont t-ils pas déployer dans le .war avec le reste?

    Encore désolé de vous embêter pour des trucs aussi bête

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Par défaut
    Le mieux est encore que tu regardes ton WAR déployé, tu l'ouvres avec un utilitaire zip (ce n'est jamais qu'un zip avec une extension différente), et là, en fait, tu tombes sur le root de ton appli. Donc si ton répertoire "ressources" est là, tu devrais pouvoir y accéder de la façon dont tu essaies.

    Note qu'il ne faut pas prendre ce que je dis au pied de la lettre, je tâtonne souvent sur ce genre de problématiques (et pas que sur ça d'ailleurs ). Mais dans le principe ça devrait être ça.

Discussions similaires

  1. [AC-2003] modifier le chemin d'accès au fichier serveur de BDD
    Par willy-78milles dans le forum IHM
    Réponses: 7
    Dernier message: 06/04/2009, 12h57
  2. Chemin d'accès au fichier
    Par Pierre94200 dans le forum Langage
    Réponses: 7
    Dernier message: 01/10/2008, 16h17
  3. Comment afficher un chemin d'accés de fichier dans un edit text?
    Par rakinetak dans le forum Interfaces Graphiques
    Réponses: 8
    Dernier message: 18/08/2008, 10h44
  4. chemin d'accés à un fichier
    Par MALIKA-MARIE dans le forum VB.NET
    Réponses: 8
    Dernier message: 19/11/2007, 17h27
  5. Chemin d'accès des fichiers dans des sous rep
    Par Le Veilleur dans le forum C++Builder
    Réponses: 4
    Dernier message: 17/11/2004, 14h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo