Je souhaite implémenter des URL attractives/chemin/vers/mon/app pour une application java. Il y a déjà une instance apache devant le serveur de l'application, avec mod_rewrite installé. Est-ce que je gagne n'importe quoi en employant un réécriteur basé sur Java comme UrlRewriteFilter à la place?Dois-je utiliser des réécritures basées sur Java à la place de mod_rewrite?
Répondre
Vous gagnez en complexité. La configuration de l'application devient de plus en plus complexe lorsque plus de pièces mobiles sont impliquées. Tant que le serveur frontal Apache ne fait pas grand-chose à part transmettre les requêtes au serveur d'applications Web approprié, c'est un élément très simple et facile à comprendre. Dès que vous commencez à ajouter une logique métier à cette partie, celle-ci devient partie intégrante du système et doit être parfaitement configurée pour que votre système s'exécute.
Cela augmente également la complexité d'exécution locale du système pour le développement et/ou la résolution de bogues: il est beaucoup plus simple de démarrer un simple chat dans l'EDI de votre choix que d'avoir un système Apache + Tomcat entièrement configuré. De plus en plus de tests automatisés deviennent beaucoup plus difficiles, car il est presque trivial de démarrer une instance Tomcat par programmation, mais vous obtiendrez plus de parties mobiles si vous impliquez un serveur HTTP Apache.
Pour résumer (tl; dr): ajouter plus de pièces mobiles rend chaque partie de votre cycle de vie de développement plus difficile. Vous devriez seulement le faire, s'il y a un gain clair qui l'emporte sur le prix.
- 1. Utiliser machiniste à la place des appareils
- 2. Solutions Webmail basées sur Java
- 3. Est-ce que les réécritures MOD_Rewrite invoquent une seconde exécution des règles de réécriture?
- 4. Vues basées sur des vues basées sur etc
- 5. que devrais-je utiliser à la place de Directory.SetCurrentDirecory?
- 6. mod_rewrite question sur la modification des URLs
- 7. Que devrais-je utiliser à la place de sscanf?
- 8. Exécution de commandes Bash différentes basées sur Java Version
- 9. Charger des classes Java basées sur un chemin de classe dans un fichier de propriétés
- 10. iPhone Tapku Graph, comment puis-je utiliser des dates à la place sur les chiffres?
- 11. Ce qu'il faut utiliser à la place de Interlocked.Equals
- 12. Travailler avec des conditions basées sur la sortie de commande
- 13. Que puis-je utiliser d'autre à la place de arguments.callee?
- 14. Construire des conditions de recherche basées sur des contextes d'exécution
- 15. À utiliser à la place validator dans jaxb 2.0
- 16. Puis-je utiliser ActiveRecord pour trouver des lignes basées sur la plus proche-correspondance (distance levenshtein)
- 17. Que utiliser à la place d'une méthode UIImagePickerControllerDelegate obsolète?
- 18. Aide pour localiser les réécritures d'URL en place pour un site Web asp.net
- 19. Que puis-je utiliser à la place d'un HashMap?
- 20. sélecteur à la place des boutons
- 21. Utiliser mod_rewrite avec mod_vhost_alias
- 22. Comment puis-je utiliser Castle Windsor à la place?
- 23. Rails erreur lors de l'utilisation de% d (obsolète) sur la traduction des dates, que dois-je utiliser à la place?
- 24. Migration de ISAPI Rewrite mod_rewrite
- 25. Bibliothèques partagées basées sur la configuration (DLL)
- 26. getc est obsolète; utiliser STDIN.getc à la place
- 27. avertissement: getc est obsolète; utiliser STDIN.getc à la place
- 28. Pagination des vues génériques basées sur la date dans Django
- 29. Générer des images personnalisées basées sur le texte tapé
- 30. Mod-réécritures sur apache: modifier toutes les URL
En outre: vous pouvez simplement effectuer l'analyse des bonnes URLs dans votre servlet/action et vous n'aurez pas besoin d'une réécriture du tout. –
Clarification: J'ajoute (au moins une partie de) ces URL comme de nouveaux chemins aux JSP existantes. – beerbajay