Bonjour, pour les besoins d'un serveur perso (Tomcat5 sous Linux) je me retrouve confronté à un problème.
Pour planter le décor, j'ai une application Java qui fonctionne de la manière suivante : une servlet récuppère toutes les requêtes (car mappée en /foo/* dans le web.xml). Après quelques traitements sans histoires par d'autres servlets, je voudrais passer la main à une JSP chargée de cracher le code XHTML au client.
La difficulté est que je voudrais interdire l'accès direct aux pages JSP depuis l'extérieur. J'ai commencé par placer les JSP dans un dossier {webapp}/foo/JSP, mais visiblement à cause du mappage /foo/* -> EntryServlet du web.xml, un
Code :
- req.getRequestDispatcher("/foo/JSP/index.jsp" ).forward(req,res)
|
retombe (à cause du mappage du web.xml) sur la servlet EntryServlet. Pour info j'utilise ce mappage car je voudrais attaquer l'application avec des requêtes ayant des URI du type : /foo/logs/2003/09/28/fe0/txErrors
Si je place les JSP dans un dossier non mappé par le web.xml tous se passe bien, mais alors les JSP sont accessibles directement depuis l'extérieur
En bref, je veux empêcher mes JSP d'être accessibles depuis un appel direct de l'extérieur, tout en les ayant accessibles depuis une servlet (avec les méthodes forward ou include).