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 :

Affichage d'un document html


Sujet :

Servlets/JSP Java

  1. #1
    Invité
    Invité(e)
    Par défaut Affichage d'un document html
    Bonjour,

    Dans notre futur intranet il est prévu de visualiser des documents html (pdf convertis en html)

    Actuellement j'ai une servlet Visualisation qui reçoit en paramètre l'id du document à afficher.
    Avec cet id, la servlet récupère un objet document.

    Première question :
    J'ai une méthode Document.getChemin():File qui me retourne le chemin vers le pdf original. (E:\test\accueil\demo\mon doc.pdf).
    Evidemment cela ne suffit pas.
    Je retire l'extension .pdf et la remplace par une chaine qui représente l'accés a la page html. (E:\test\accueil\demo\mon doc_html\mon doc.html).
    Mais cela ne permet toujours pas d'afficher la page.
    Ma question :
    - faut-il transformer cette chaine en URL (new File(htmlPath).toURI().toURL() mais alors je me retrouve avec file:E:/test/accueil/demo/mon%20doc_html/mon%20doc.html
    - ou transformer ma chaine en quelque chose de valable pour le serveur (/test/accueil/demo/mondoc_html/mondoc.html) mais alors les documents doivent être à la racine de mon application..

    Seconde question :
    Depuis ma servlet faut-il mieux :
    - Faire un RequestDispatcher vers ma page html . Mais cela ne semble pas fonctionner.
    - Faire un RequestDisptacher vers une JSP qui inclus (<jp:include..>) la page html.
    - Faire un requestDisptacher vers une JSP qui possède un iframe avec la page html en source.

    Merci

  2. #2
    Membre averti

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 392
    Points : 439
    Points
    439
    Par défaut
    Attention : un client n'a pas accès à l'architecture interne du serveur, donc, il ne connaît pas un chemin "e:\.....\", seul le serveur comprend et connaît cette arborescence.
    Tu as 2 solutions :
    - soit copier le fichier html que tu veux publier à la racine de ton application, mais alors, il faut bien faire attention à l'unicité de ce fichier.... et tu ne pourras pas contrôler les accès à ce fichier... il suffit de connaître l'url et zou....
    - soit utiliser la servlet Visualisation qui lit le fichier "e:\....\" et envoie dans sa response le contenu du fichier... l'avantage de cette solution, c'est que tu obliges l'utilisateur à passer par la servlet pour lire le fichier que tu veux déployer (et donc, tu peux gérer les habilitations).

    Pour ta seconde question, si tu utilises la 1ère solution, tu fais un RequestDispatcher vers le fichier html préalablement copié....
    si tu utilises la 2ème solution, tu n'as pas de RequestDispatcher à faire... vu que c'est la servlet qui envoie le flux de données à afficher sur le client.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Je n'aurais pas de problèmes pour copier le fichier à la racine du serveur car je contrôle le convertion. Le résultat est placé dans un dossier en fonction d'un paramètre de configuration.

    Mais le seconde solution me plait plus. Le problème est que ce fichier contient des urls vers des images et il faudrais alors lire les images également..

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Pour finir j'ai utilisé la seconde solution (servlet qui lis le fichier).
    Cette solution me donne l'avantage de pouvoir modifier les chemins vers les images et les liens et d'en contrôler les droits d'accès.


    Mais j'ai un autre problème.
    Certains fichiers sont convertis en HTML et affiché via une servlet.
    Mais d'autres ne seront pas convertis, ils resteront en pdf.
    Afin de contrôler la aussi les droits d'accès il faudrais que ma servlet puisse lire et afficher le document. Mais lorsque je tente de lire le pdf et le sortir sur le PrintWriter (aprés avoir fait un setContentType(..) approprié) de ma servlet le lecteur pdf m'affiche le message :
    Citation Envoyé par Adobe Reader
    Le fichier est endommagé et n'a pas pu être réparé.

Discussions similaires

  1. Comment supprimer les commentaires d'un document Html?
    Par visteur dans le forum Langage
    Réponses: 2
    Dernier message: 27/03/2006, 11h58
  2. Générateur de document HTML et PDF a partir d'un fichier XML
    Par Fildz dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 03/03/2006, 17h55
  3. [FPDF] Convertion en d'un document HTML en PDF
    Par Cube55 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 02/02/2006, 18h16
  4. exportation d'une valeur dans un document html
    Par acd dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 28/11/2005, 21h34
  5. [DOM] Parser un document Html distant
    Par le Daoud dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 02/05/2005, 14h19

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