Comment masquer la .jsp extension dans mon serveur web url
J'ai une page JSP serveur web, avec des pages qui se terminent tous avec la .jsp extension.
Comment puis-je cacher à mon serveur web url, sans avoir recours à des non-java astuces (par exemple, de réécriture apache)?
Par exemple:
au lieu de taper http://www.sample.com/search.jsp?xxx
l'utilisateur, tapez simplement
http://www.sample.com/search?xxx
OriginalL'auteur | 2009-01-20
Vous devez vous connecter pour publier un commentaire.
Vous pouvez créer une servlet cartographie comme ceci:
L'url-pattern doit être modifié en fonction de vos besoins. Vous avez besoin de cours pour créer la servlet dans le but de faire correspondre l'url de la réelle jsp. Cette technique est utilisée par la plupart des frameworks MVC.
Bonjour ! je suis très intéressé par votre approche, pouvez-vous élaborer un peu sur elle.merci
Spring MVC par exemple, utilise cette technique. Vous pouvez regarder le code source pour plus de détails. Spring MVC met en œuvre un plein cadre, de sorte qu'il serait compliqué de solution. Dans la forme la plus simple, la MappingServlet va vérifier le chemin de la requête, extrait le nom de la vue et de le charger à partir d'un référentiel adapté.
Donc, ce serait la MappingServlet ressembler? J'ai essayé quelque chose comme cela, mais ce n'est pas complète... stackoverflow.com/questions/40006723/...
OriginalL'auteur kgiannakakis
UrlRewrite est une bonne flexible basé sur Java cadre indépendant de la solution.
C'est mieux qu'un Servlet cartographie
web.xml
, parce que c'est trop limité dans ce que vous pouvez faire, et mieux qu'un Apache en fonction de la solution, car il est une partie de votre application web, donc vous n'avez pas besoin de mettre Apache en face de votre serveur d'application.OriginalL'auteur Peter Hilton
Utiliser cette servlet cartographie dans votre
web.xml
fichier.OriginalL'auteur Mehandi Hassan
Carte la .jsp comme une servlet, mais utiliser un <jsp-fichier> tag au lieu de <url-mapping> tag.
OriginalL'auteur mP.
Si vous optez pour la réécriture Apache règle, plutôt que l'application serveur de cartographie ou de filtre (comme moi) vous pouvez aussi faire plus que simplement regarder "^([0-9a-zA-Z]+)$"
Vous pouvez confirmer l'url n'est pas un répertoire ou d'un fichier qui n'existe pas, si apache est en les affrontant et de servir les non-jsp ressources. Et de confirmer que la JSP existe, et faire un pass thru plutôt que de rediriger, et l'ajout éventuel de la chaîne de requête.
Et assurez-vous que les utilisateurs ne voient que ce via /recherche, ce n'est pas /de recherche.jsp que vous voulez réécrire le sens inverse
C'est une bonne idée pour les fins de SEO moteurs de recherche de ne pas ding vous pour la duplication de contenu à plusieurs url.
OriginalL'auteur Ryan Watkins
J'ai une page jsp, situé à données/d'alimentation.jsp
En ajoutant ceci à mon web.xml je pouvais accéder à des données/alimentation ...
OriginalL'auteur Paul Scott
Dans votre .htaccess doit réécrire toutes les Url .jsp. Ainsi, la recherche.jsp sera juste de la recherche, comme vous l'avez décrit.
advanced-search.jsp
ne fonctionne pas.oui... ajouter \- avant ] à l'appui des traits d'union
OriginalL'auteur Logan Serman
Je ne suis pas un expert JSP, mais je pense que vous pouvez définir l'URL des mappages dans web.xml pour fournir des alias pour vos servlets et les jsp.
OriginalL'auteur Rahul