Redirection à partir d’une servlet sans changer d’URL?

J’ai un serveur Apache, qui applique mod_rewrite et mod_proxy fonction d’un fichier de mappage de réécriture. L’utilisateur accède simplement au serveur et ne sait pas qu’il est redirigé vers un autre serveur fournissant les fichiers source. Tout est géré par apache en arrière-plan.

Comme je voudrais maintenant avoir une redirection plus complexe, j’ai pensé à une solution dans java / jsf / servlet.

Puis-je obtenir le même remappage robuste d’une URL à partir d’une servlet? Si oui, comment pourrais-je commencer?

  • Une solution pour la redirection à partir de Java / servlet:

Si c’est sur la même machine que vous pouvez utiliser forward :

 request.getRequestDispatcher("pathToNewServletOrJsp").forward(request, response); 

(avec le chemin relatif) et l’URL ne changera pas, sinon vous devrez utiliser sendRedirect :

 response.sendRedirect("pathToNewServletOrJsp"); 

et dans ce cas – l’URL changera.

  • Une autre solution consistera à créer des règles pour la redirection 301 dans votre fichier .htaccess .

Vous pouvez utiliser le URLRewrite de Tuckey.org:

Il peut facilement être intégré à Spring mvc et permet d’écrire des règles assez complexes.

Cordialement

Philippe