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

Tomcat et TomEE Java Discussion :

[Configuration]Comment télécharger des docs dans un dossier différent (Tomcat 5)


Sujet :

Tomcat et TomEE Java

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 265
    Points : 98
    Points
    98
    Par défaut [Configuration]Comment télécharger des docs dans un dossier différent (Tomcat 5)
    Bonjour,
    Lorsque l'on a une application Web, et que cette application donne des pages jsp. Et sur ces mêmes pages jsp, on a des liens hypetextes qui nous permettent d'accéder à certains documents.
    Le chemin par défaut est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    /Catalina_home/Webapps/ Notre application Web
    Existe t-il un moyen dans Tomcat pour dire à tomcat que sur une application donée, on aura le chemin quelconque par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    /Home/Mes Fichiers/Sauvegardes/images
    Bien à vous.

    PS: J'ai oublié de préciser que nous utilisons Tomcat 5

  2. #2
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2002
    Messages
    1 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 960
    Points : 3 736
    Points
    3 736
    Par défaut
    par defaut, non. par contre tu peux gerer ca avec une servlet dans ta webapp (qui se charge d'aller chercher les fichier et les renvois sur out (cherche fileServlet dans google, tu vas en trouver des tonnes) (attention a la sécurité))

    autre solution, coder un connector tomcat qui cherche dans deux repertoires plutot qu'un seul.

  3. #3
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 265
    Points : 98
    Points
    98
    Par défaut
    Citation Envoyé par lunatix Voir le message
    par defaut, non. par contre tu peux gerer ca avec une servlet dans ta webapp (qui se charge d'aller chercher les fichier et les renvois sur out (cherche fileServlet dans google, tu vas en trouver des tonnes) (attention a la sécurité))

    autre solution, coder un connector tomcat qui cherche dans deux repertoires plutot qu'un seul.
    Bonjour Lunatix, je te remercie pour ton intervention.
    Je n'ai jamais dévéloppé de connectors, et je ne savais pas qu'on pouvait en faire de nouveau, et surtout comment les intégrer à Tomcat. Ca me semble intéressant. Aurais tu des liens stp ? Je suis entrain de chercher mais je tombe sur de trés nombreux liens, et d'ici là à ce que je tombe sur la bonne page.
    Aurais tu des exemples sous le coude ?
    Par avance merci.

    Cordialement

  4. #4
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2002
    Messages
    1 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 960
    Points : 3 736
    Points
    3 736
    Par défaut
    j'ai dit connector, mais je pensais context

    tu peux definir ton propre context

    <Context path="" className="com..MyContext" ...

    et ton MyContext doit etendre org.apache.catalina.core.StandardContext

    dedans tu peux manipuler tout un tas de truc internes a tomcat, comme un org.apache.naming.resources.FileDirContext

  5. #5
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 265
    Points : 98
    Points
    98
    Par défaut
    Citation Envoyé par lunatix Voir le message
    j'ai dit connector, mais je pensais context

    tu peux definir ton propre context

    <Context path="" className="com..MyContext" ...

    et ton MyContext doit etendre org.apache.catalina.core.StandardContext

    dedans tu peux manipuler tout un tas de truc internes a tomcat, comme un org.apache.naming.resources.FileDirContext
    Si tu as un où des exemples simples ça serait super. J'ai épluché depuis ce matin le web, un peu partout, je ne tombe que sur des généralités. Connaitrais tu un ouvrage qui relate de ce sujet, en particulier Tomcat ?
    Cordialement

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Le plus simple dans ton cas est de mettre une url complète pour ton lien.
    Si tu mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="/unRep/unFichier.txt">Fichier 1</a>
    tu fais un lien vers l'application en cours.

    Mais avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="http://serveur:port/uneApplication/unRep/unFichier.txt">Fichier 1</a>
    tu vas où tu veux

    (ou je n'ai rien compris à ton problème ??? )

  7. #7
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 265
    Points : 98
    Points
    98
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    Le plus simple dans ton cas est de mettre une url complète pour ton lien.
    Si tu mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="/unRep/unFichier.txt">Fichier 1</a>
    tu fais un lien vers l'application en cours.

    Mais avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="http://serveur:port/uneApplication/unRep/unFichier.txt">Fichier 1</a>
    tu vas où tu veux

    (ou je n'ai rien compris à ton problème ??? )
    Bonjour OButterlin, il semble que la solution soit plutot avec Lunatix.
    Si on résume la problèmatique, nous avons ici l'architecture de Tomcat 5.5




    En gros je dois implémenter mon propre java connector EE. Le problème c'est que je n'ai jamais implémenter ce genre chose, encore moins sous Tomcat.
    Peut on utiliser le connector Coyotte ? Si on doit faire un nouveau connector, doit-on implementer nos propres valves dans ce cas là ?
    Problème compliqué tout ça .

    Merci pour votre aide.

    Cordialement.

    PS: j'aurai bien aimé redimensionner la photo en aval, c'est à dire qu'elle telle quelle sous imageshachk. Peut on la redimensionner sur le forum ? si oui comment ?

  8. #8
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    A vrai dire, je ne comprends rien au problème de base...

    Pourrais-tu éclairer ma lanterne ?
    Quel est le but recherché précisément ?

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2004
    Messages : 327
    Points : 487
    Points
    487
    Par défaut
    L'idée du contexte est bonne et tu n'as pas besoin d'etendre d'autres classes.
    C'est ce qu'on appelle une conf externalisée.
    Dans catalina/localhost tu créer un fichier de contexte.xml pour ton application qui DOIS avoir le nom de ta webapp.
    Apres il suffit de modifier le chemin du paramètre docBase.

  10. #10
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2002
    Messages
    1 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 960
    Points : 3 736
    Points
    3 736
    Par défaut
    bon, y'a une ambiguité :

    tu veux

    1) qu'une application soit stockée dans un repertoire hors de webapps ?
    (auquel c'est easy, ca se configure dans le doc base du contexte comme dit plus haut)

    2) qu'une application installée dans un repertoire REP1 puis eventuellement aller chercher des fichiers dans un repertoire REP2 (qui ne soit pas sous REP1) : auquel cas, tu dois effectivement soit te faire une fileservlet ou jouer avec un contexte home made

  11. #11
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 265
    Points : 98
    Points
    98
    Par défaut
    Bonjour à tous
    A vrai dire, je ne comprends rien au problème de base...
    Pourrais-tu éclairer ma lanterne ?
    Quel est le but recherché précisément ?
    Lunatix a parfaitement résumé la problèmatique, c'est bien le fait qu'une application puisse aller chercher des fichiers dans un repertoire différent de celui où se trouve la Web app.
    Par contre je ne vois vraiment pas comment faire, auriez vous des exemples, un ouvrage qui traite de ce problème. Je ne savais pas que c'était aussi aussi complexe.


    Citation Envoyé par lunatix Voir le message
    bon, y'a une ambiguité :

    tu veux

    2) qu'une application installée dans un repertoire REP1 puis eventuellement aller chercher des fichiers dans un repertoire REP2 (qui ne soit pas sous REP1) : auquel cas, tu dois effectivement soit te faire une fileservlet ou jouer avec un contexte home made
    Que veux tu dire par Fileservlet ? Une servlet qui va chercher des fichiers ? Les trouver ? Les uploader ? Downloader ? Quand tu parles de jouer avec le context, que veux-tu dire ?
    De J2EE je ne connais que les servlets, les jsp, un peu les ejb, jpa, etc... cependant je ne suis pas un spécialiste de l'adminstration de Tomcat, même s'ils m'arrive souvent trés souvent de travailler avec Apache Tomcat.
    Alors excusez mes questions si elles vous semblent bêtes par moment.


    Cordialement.

  12. #12
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par smutmutant2003 Voir le message
    Lunatix a parfaitement résumé la problèmatique, c'est bien le fait qu'une application puisse aller chercher des fichiers dans un repertoire différent de celui où se trouve la Web app.
    Par contre je ne vois vraiment pas comment faire, auriez vous des exemples, un ouvrage qui traite de ce problème. Je ne savais pas que c'était aussi aussi complexe.
    C'est fait par un simple filtre ça, il n'y a pas besoin d'écrire un Connector.
    On le fait très souvent pour des images (ou des documents d'ailleurs) en dehors du contexte de l'application web.
    Dans le principe, tu paramètres un filtre pour une url-pattern "/external-documents/*"
    et dans ta page, tu as (pour une image) une balise <img src="/external-document/unChemin/monImage.gif"/>
    Le filtre sera appelé et renverra le flux de l'image en positionnant le content-type qui va bien.

  13. #13
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 265
    Points : 98
    Points
    98
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    C'est fait par un simple filtre ça, il n'y a pas besoin d'écrire un Connector.
    On le fait très souvent pour des images (ou des documents d'ailleurs) en dehors du contexte de l'application web.
    Dans le principe, tu paramètres un filtre pour une url-pattern "/external-documents/*"
    et dans ta page, tu as (pour une image) une balise <img src="/external-document/unChemin/monImage.gif"/>
    Le filtre sera appelé et renverra le flux de l'image en positionnant le content-type qui va bien.
    Merci Butterlin,
    je vais m'atteller dans le courrant de la semaine prochaine à cette tache. Effectivement l'écriture et le parametrage d'un où plusieurs filtre me semle infiniment plus simple que de me lancer dans un défi en écrivant des connecteurs qui ne seront jamais prêt à temps, et surtout qui marche.
    Je vais faire ce que vous me dites et je vous tiens informés. Il est fort à parier que si la simple écriture d'un filtre puisse à lui seul résoudre cette problèmatique, je risque de me retrouver moi le développeur web attitré, ce qui veut dire que je vais gagner des galons, et grace à qui..... y en a qui serait en droit de me demander des royalties.

    Bien à vous

  14. #14
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par smutmutant2003 Voir le message
    ...
    y en a qui serait en droit de me demander des royalties.
    Je saurai rester magnanime...

  15. #15
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 265
    Points : 98
    Points
    98
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    Je saurai rester magnanime...
    Donc le résultat je pense le fournir dans le courrant de la semaine prochaine.
    Soit dit en passsant, j'aimerai quand même bien faire, où programmer un jconnector pour tomcat, ça doit être un sacré chalenge. J'ai cherché sur Internet des exemples de programtion de connectors pour Tomcat mais je n'ai pas trouvé.
    Y-a-t-il des ouvrages qui en parlent ?

  16. #16
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Aucune idée... désolé...

Discussions similaires

  1. Réponses: 3
    Dernier message: 26/05/2010, 17h45
  2. Comment changer des mots dans un fichier?
    Par ptitbonum dans le forum Linux
    Réponses: 5
    Dernier message: 07/04/2004, 23h42
  3. Réponses: 2
    Dernier message: 19/01/2004, 12h19
  4. Comment cacher des propriétés dans un nouvel objet ?
    Par Pedro dans le forum Composants VCL
    Réponses: 2
    Dernier message: 22/10/2003, 18h53
  5. [langage] Comment rajouter des champs dans une liste
    Par toto_titi dans le forum Langage
    Réponses: 4
    Dernier message: 28/08/2003, 14h09

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