alias sous Tomcat (résolu) - Java - Programmation
Marsh Posté le 19-08-2003 à 08:41:03
tu peux faire une servlet qui va lire les fichiers dans un rep spéciale en ouvrant le fichier et en balançant le flux sur la sortie de la servlet ...
Marsh Posté le 21-08-2003 à 09:21:21
ReplyMarsh Posté le 21-08-2003 à 09:41:41
benou a écrit : |
Benou
ta solution ne me satisfait pas vraiment because ce que je voudrais faire c'est inclure dans mes jsps des images qui ne se trouvent pas dans le context tomcat mais à un autre endroit sur le disque dur.
Je sais que c'est possible sous Apache, mais avec Tomcat seul est-ce que c'est le cas ?
Marsh Posté le 21-08-2003 à 09:50:03
ozark74 a écrit : |
la moindre des choses c'est d'avoir la politesse de répondre à la personne qui essaye de t'aider
Marsh Posté le 21-08-2003 à 09:58:11
oki oki je vous présente mes plus plates excuses
j'le ferai plus
Marsh Posté le 21-08-2003 à 10:48:42
ozark74 a écrit : |
c'est exactement ce que ma solution permet de faire ...
Marsh Posté le 21-08-2003 à 11:06:50
je suis même tellement sympa et pas rancunié que je te file le code tout fait :
Code :
|
et dans le web.xml :
Citation : |
et tes liens vers tes images devront ressembler à ca : http://tonServeur/tonApp/img2/toto.jpg
et ca te renverra l'image présente dans c:\tonRepImage\toto.jpg
Marsh Posté le 21-08-2003 à 11:22:23
benou a écrit : je suis même tellement sympa et pas rancunié que je te file le code tout |
thanks Benou, t'es vraiment trop bon avec moi
j'essaie ca ce soir et je vous tiens au courant.
Marsh Posté le 21-08-2003 à 11:23:53
ozark74 a écrit : |
je trouve aussi
Marsh Posté le 21-08-2003 à 11:37:03
je suis dans un bon jour
et puis ca pourra peut-être servir à d'autre : c'est un besoin assez courant ...
Marsh Posté le 21-08-2003 à 12:35:05
Je me permet juste un pitite remarque sur le code de benou :
à la place de ça :
Code :
|
On devrait plutpot faire ça :
Code :
|
C'est plus générique. Et puis, pourquoi ne pas utiliser ce qui existe dans les moteurs de servlets niveau correspondance de types MIME
Marsh Posté le 21-08-2003 à 13:52:47
ça me parait étrange qu'on ne puisse pas faire ça dans la config de tomcat directement... et puis tu peux toujours mettre un apache devant sinon
Marsh Posté le 21-08-2003 à 14:00:37
El_gringo a écrit : Je me permet juste un pitite remarque sur le code de benou : |
Tout à fait ! c'est bien mieux comme ca !
je ne me souvenais plus de l'existence de cette méthode ...
Marsh Posté le 21-08-2003 à 14:11:56
benou a écrit : |
un bon point pour el_gringo
Marsh Posté le 21-08-2003 à 14:16:53
the real moins moins a écrit : un bon point pour el_gringo |
Marsh Posté le 21-08-2003 à 14:26:14
ReplyMarsh Posté le 21-08-2003 à 14:34:43
ReplyMarsh Posté le 21-08-2003 à 15:03:26
the real moins moins a écrit : |
je tiens un spreadsheet à jour
gare à vous
Marsh Posté le 21-08-2003 à 23:45:44
Citation : je suis même tellement sympa et pas rancunié que je te file le code tout fait : |
voila j'ai testé ca fonctionne très bien, encore un grand merci
quelques petits détails (dans le but de faire avancer la science) :
1.
Code :
|
fonctionnait pas alors que
Code :
|
fonctionnait bien, pourtant il me semble que ca devrait donner le meme résultat dans les deux cas
2. init-param dans la section servlet et pas la section servlet-mapping du web.xml
3. url-pattern : pas de / devant img2/*
Remarque finale : j'ignorais que l'ordre des éléments dans le web.xml était important !
Voila c'est tout pour ce soir, Simone à vous l'antenne.
Marsh Posté le 21-08-2003 à 23:52:26
toi tu cherches à grapiller un bon point hein?
Marsh Posté le 22-08-2003 à 00:19:30
ozark74 a écrit : [quote]1.
|
le code que j'ai fillé je l'ai piqué sur une servlet ressemblante et je l'ai adapté vite fait sans recompilé ni tester ... la servlet d'origine cherchait le paramêtre dans le contexte, j'ai loupé cette modif
ozark74 a écrit : [quote]2. init-param dans la section servlet et pas la section servlet-mapping du web.xml |
j'ai mal placé mon copié collé
ozark74 a écrit : [quote]3. url-pattern : pas de / devant img2/* |
là par contre je ne suis pas d'accord : tous les url-pattern doivent commencer par un '/' sauf ceux de la forme "*.truc".
je mets à jour mon post initial avec ces modifs
Marsh Posté le 22-08-2003 à 00:26:12
je savais bien que je me trompais pas :
tiré des spécif des servlet 2.3 du site de sun :
Citation : In the web application deployment descriptor, the following syntax is used to define |
Marsh Posté le 22-08-2003 à 00:43:47
benou a écrit : je savais bien que je me trompais pas : |
en effet ... je viens de retester et ca fonctionne avec (ou sans) le / devant img2/*
Marsh Posté le 22-08-2003 à 00:51:14
puisque Simone ne veut pas reprendre l'antenne tout de suite, voici un flash de dernière minute.
autre technique faire de d:\data\pictures le root d'un autre contexte
suffit d'ajouter un fichier xml dans le root du répertoire webapps de Tomcat avec le contenu suivant :
Code :
|
et ensuite j'accède aux images tout naturellement via http://monserveur/mypics/toto.jpg
je sais pas ce que ca vaut comme approche, mais ca à l'avantage de pas devoir coder quoique ce soit.
Marsh Posté le 22-08-2003 à 00:58:05
bha c'est pas top : tu redéfinis une autre web-app ... c'est pas la même application quoi ...
mais bon, en effet, ca marche aussi bien ...
A condition de pas en abuser (pas déclarer 10 nouvelle web-app quoi) ca peut être une solution simple.
(mais c'est un peu de la bidouille quand même)
Marsh Posté le 22-08-2003 à 00:59:46
ozark74 a écrit : |
ben c'est vraiment étonnant : ca devrait te jarter lors du déploiement si ton mapping n'a pas une syntaxe correcte. En plus je me souviens que tomcat est très à cheval sur ce genre de truc : tu te manges un méchant message d'erreur et ta web-app est pas déployée
Marsh Posté le 22-08-2003 à 01:14:49
benou a écrit : |
euh et une servlet qui va pomper un flux sur un fichier pour le recracher direct à tomcat c'est quoi alors?
Marsh Posté le 22-08-2003 à 08:35:44
the real moins moins a écrit : euh et une servlet qui va pomper un flux sur un fichier pour le recracher direct à tomcat c'est quoi alors? |
ben comment tu crois que ca marche le truc par défaut de tomcat qui permet de lire les fichiers statiques qui sont dans la web-app ?
C'est une servlet qui fait exactement la même chose que le code que j'ai donné !
Sous Tomcat elle s'appelle DefaultServlet je crois.
Donc, non c'est pas de la bidouille, c'est un focntionnement complètement normal.
Marsh Posté le 22-08-2003 à 08:59:10
benou a écrit : |
Marsh Posté le 22-08-2003 à 12:49:54
benou a écrit : |
ha bon
'fin oui ça à du sens c'est vrai... mais quand tu imagines ça avec un apache derriere tomcat ça fait un peu ridicule
Marsh Posté le 22-08-2003 à 12:56:10
the real moins moins a écrit : ha bon |
bof ... la servlet dont je parle c'est elle qui est chargée de faire que tomcat fasse aussi serveur http en standalone, donc non c'est pas ridicule ...
Marsh Posté le 22-08-2003 à 13:35:41
quand y'a un apache derriere j'ai dit
Marsh Posté le 22-08-2003 à 14:54:16
the real moins moins a écrit : quand y'a un apache derriere j'ai dit |
bha même : dans certains qu'à t'en as besoin. Par exemple si tu veux faire du contrôle d'accès sur des fichiers statiques...
Marsh Posté le 22-08-2003 à 14:56:04
benou a écrit : |
ben oui bien sur mais ds ce cas ta servlet n'est plus aussi conne
Marsh Posté le 22-08-2003 à 15:02:33
the real moins moins a écrit : ben oui bien sur mais ds ce cas ta servlet n'est plus aussi conne |
si si le contrôle d'accès est fait dans un filtre comme c'est souvent le cas
Marsh Posté le 22-08-2003 à 15:04:37
benou a écrit : |
très juste
tiens benou, tu as déjà utilisé xdoclet avec des servlets et autres?
c'est trop de pas devoir se coltiner le web.xml à la main
Marsh Posté le 22-08-2003 à 15:10:52
Je tape l'incruste une minute pour saluer mon pote Ozark
ne lui en voulez pas, il a pas encore bien l'habitude d'HFR mais j'instruirai mon padawan sur les "bonnes manières" du coin
Signé Drasche le vieux Klingon.
Marsh Posté le 22-08-2003 à 15:13:49
drasche a écrit : ne lui en voulez pas |
bah y'a pas de raison
c'est qui?
Marsh Posté le 19-08-2003 à 00:32:40
hello,
j'ai une web application pour laquelle j'aimerais accéder à des ressources (images) en dehors du context Tomcat (sur d:\data\pictures par exemple)
je pense que dans Apache il y a moyen de configurer cela avec des alias, est-ce possible aussi avec Tomcat ?
ou bien suis-je obligé de copier toutes les images dans le context de la web application ?
Message édité par ozark74 le 22-08-2003 à 10:36:01