Dans une appli web (d�ploy�e dans Tomcat), j'aimerais
relayer des requ�tes qui arrivent � une servlet
vers une autre appli d�ploy�e dans le m�me serveur.
En gros request.getRequestDispatcher("adresse-dans-l'autre-appli").includes(...)
(ou forward ?) pourrait faire ce que je veux, sauf
que �a ne semble fonctionner que pour transf�rer
la gestion de la requ�te � une autre servlet de la
m�me appli.
Sinon j'essaeie avec URL/URLConnection d'�mettre
"� la main" la requ�te vers la deuxi�me appli,
mais �a ne semble pas permettre le passage dans la
nouvelle requ�te de toutes les informations arriv�es
dans la requ�te re�ue.
Et si possible en �vitant de r��crire enti�rement un
relai HTTP, je cherche plut�t une solution simple... :)
En esp�rant que ces explications sont assez claires...
Merci
Yliur
Bonjour Yliur,
Pouvez-vous nous confirmer que la DefaultServlet est bien activ�e sur
l'appli cible ?
(en gros vous testez http://truc.com/appli-cible/img/ et �a doit lister
les images par exemple)
Sinon, il y a le rewriting d'URL style :
http://tuckey.org/urlrewrite/
A+
TM
> On 31/08/2009 14:43, Yliur wrote:
> > Bonjour
> >
> > Dans une appli web (déployée dans Tomcat), j'aimerais
> > relayer des requêtes qui arrivent à une servlet
> > vers une autre appli déployée dans le même serveur.
> >
> > En gros
> > request.getRequestDispatcher("adresse-dans-l'autre-appli").includes(...)
> > (ou forward ?) pourrait faire ce que je veux, sauf
> > que ça ne semble fonctionner que pour transférer
> > la gestion de la requête à une autre servlet de la
> > même appli.
> >
> > Sinon j'essaeie avec URL/URLConnection d'émettre
> > "à la main" la requête vers la deuxième appli,
> > mais ça ne semble pas permettre le passage dans la
> > nouvelle requête de toutes les informations arrivées
> > dans la requête reçue.
> >
> > Et si possible en évitant de réécrire entièrement un
> > relai HTTP, je cherche plutôt une solution simple... :)
> >
> > En espérant que ces explications sont assez claires...
> >
> > Merci
> >
> > Yliur
>
> Bonjour Yliur,
>
> Pouvez-vous nous confirmer que la DefaultServlet est bien activée sur
> l'appli cible ?
> (en gros vous testez http://truc.com/appli-cible/img/ et ça doit
> lister les images par exemple)
Ca m'étonnerait.
Pourquoi est-ce important ? Les adresses que je cherche à contacter
sont accessibles, mais dans une autre appli web.
> Sinon, il y a le rewriting d'URL style :
> http://tuckey.org/urlrewrite/
Oui, mais je veux filtrer les URl dans une servlet.
J'ai fait avec le module HttpClient de la fondation Apache, mais ce
n'est peut-être pas le plus simple...
> A+
> TM
Ni le plus conseill� ... les serveurs d'appli (moteurs de servlets) sont
toujours sensible � l'utilisation de composants de connexions vers
l'ext�rieurs qui n'auraient pas �t� pr�vus pour fonction�s dans un
containeur (r�utilisation de ressource, probl�me de code r�entrant,
v�rrous multithread, ... et j'en passe).
Allez voir sur :
http://www.geekinterview.com/question_details/23494
Cel� devrait vous quider vers une soluce.
A+
TM
Je vous conseille
> On 12/10/2009 03:28, Yliur wrote:
> > Le Thu, 01 Oct 2009 14:37:21 +0200
> > TestMan<tes...@example.com> a écrit :
> >
> >> On 31/08/2009 14:43, Yliur wrote:
> >>> Bonjour
> >>>
> >>> Dans une appli web (déployée dans Tomcat), j'aimerais
> >>> relayer des requêtes qui arrivent à une servlet
> >>> vers une autre appli déployée dans le même serveur.
> >>>
> >>> En gros
> >>> request.getRequestDispatcher("adresse-dans-l'autre-appli").includes(...)
> >>> (ou forward ?) pourrait faire ce que je veux, sauf
> >>> que ça ne semble fonctionner que pour transférer
> >>> la gestion de la requête à une autre servlet de la
> >>> même appli.
> >>>
> >>> Sinon j'essaeie avec URL/URLConnection d'émettre
> >>> "à la main" la requête vers la deuxième appli,
> >>> mais ça ne semble pas permettre le passage dans la
> >>> nouvelle requête de toutes les informations arrivées
> >>> dans la requête reçue.
> >>>
> >>> Et si possible en évitant de réécrire entièrement un
> >>> relai HTTP, je cherche plutôt une solution simple... :)
> >>>
> >>> En espérant que ces explications sont assez claires...
> >>>
> >>> Merci
> >>>
> >>> Yliur
> >>
> >> Bonjour Yliur,
> >>
> >> Pouvez-vous nous confirmer que la DefaultServlet est bien activée
> >> sur l'appli cible ?
> >> (en gros vous testez http://truc.com/appli-cible/img/ et ça doit
> >> lister les images par exemple)
> >
> > Ca m'étonnerait.
> > Pourquoi est-ce important ? Les adresses que je cherche à contacter
> > sont accessibles, mais dans une autre appli web.
> >
> >> Sinon, il y a le rewriting d'URL style :
> >> http://tuckey.org/urlrewrite/
> >
> > Oui, mais je veux filtrer les URl dans une servlet.
> > J'ai fait avec le module HttpClient de la fondation Apache, mais ce
> > n'est peut-être pas le plus simple...
>
> Ni le plus conseillé ... les serveurs d'appli (moteurs de servlets)
> sont toujours sensible à l'utilisation de composants de connexions
> vers l'extérieurs qui n'auraient pas été prévus pour fonctionés dans
> un containeur (réutilisation de ressource, problème de code
> réentrant, vérrous multithread, ... et j'en passe).
>
> Allez voir sur :
> http://www.geekinterview.com/question_details/23494
>
> Celà devrait vous quider vers une soluce.
>
> A+
> TM
>
>
> Je vous conseille
>
Merci pour le lien. Effectivement, une des réponses dans la page
indiquée mentionne la méthode ServletContext.getContext(...), qui
devrait être la clé qui me manquait pour demander des pages d'une
autre appli.
Je vais essayer :) .