J'ai développé une application Restlet. J'aimerais renvoyer un fichier JSP lors d'une requête URL via Restlet. Comment puis-je réaliser cela sans utiliser de redirection ?
Par exemple. Disons que j'ai le fichier "contact.jsp" sur mondomaine.com et que je veux que les gens puissent accéder à contact.jsp à l'adresse suivante http://mydomain.com/contact
Ainsi, dans Restlet, j'aurais :
router.attach("/contact", MyResource.class);
Mais comment puis-je renvoyer la page "contact.jsp" ? Je sais qu'une redirection fonctionnerait, mais je ne veux pas que les utilisateurs voient le " .jsp " dans " http://mydomain.com/contact.jsp "... ou existe-t-il une autre stratégie qui fonctionnerait sans même utiliser restlet ? Peut-être une modification de mon fichier web.xml ?
Modifier (2009-08-14) :
Ma réponse postée ci-dessous ne fonctionne pas sur App-Engine et Restlet. Elle fonctionne cependant, si je n'inclus pas Restlet, ou si j'autorise Restlet à avoir un modèle d'url de "/*".
L'idéal serait d'avoir une sous-classe du routeur qui me permette de faire cela :
router.attach("/contact", "/contact.jsp");
Gracias.
Modifier (2009-08-17) :
Je suis surpris de n'avoir eu aucune réponse depuis que j'ai posté une prime. Quelqu'un peut-il commenter et me faire savoir si ma question/problème n'est pas claire ?
Edit (2009-08-17) :
Observation intéressante. Lorsque j'utilise la méthode décrite par "Rich Seller" ci-dessous, elle fonctionne lorsqu'elle est déployée sur Google App-Engine et non localement. De plus, si j'appelle http://mydomain.com/contact.jsp sur Google App-Engine, il contourne Restlet et va directement à la JSP. Mais, localement, Restlet prend le relais. C'est à dire, http://localhost:8080/contact.jsp ne va pas à la JSP et va à Restlet. Les applications déployées du moteur d'application répondent-elles différemment aux URL que leur homologue local ?