Quelle est la meilleure façon de conserver l'état de l'utilisateur avec Tomcat/Scala? Ma première idée est de garder à tout moment les informations de compte sur la session et de rediriger l'utilisateur vers une page de connexion s'il n'y a aucune information sur la session pour le compte. Est-ce un modèle viable ou existe-t-il un moyen plus intelligent de conserver l'information de l'utilisateur? J'essaie de reproduire un site de base de panier d'achat, et je pense juste à travers le problème en ce moment.Meilleur moyen de conserver l'état avec Tomcat/Scala?
Répondre
Il existe de nombreuses façons de peler ce chat. Vous pouvez stocker vos informations dans la session, à condition que vos objets soient assez légers (et que votre volume de trafic soit suffisamment bas). C'est probablement la solution la plus simple, mais vous pouvez rencontrer des difficultés lorsque vous avez besoin d'une mise à l'échelle ou d'un cluster. Par expérience, la mise à l'échelle de Tomcat, le clustering, le magasin de sessions db, etc. ne fonctionnaient pas très bien pour moi.
Une autre façon serait de gérer votre propre jeton avec un cookie. Vous stockez ensuite les informations réelles pour un jeton d'utilisateur donné sur le serveur. L'implémentation la plus naïve aurait simplement une carte en mémoire mais cela aura l'inconvénient de perdre toutes les données lorsque vous redémarrerez l'application.
Vous pouvez conserver les informations dans la base de données et effectuer une recherche avec le jeton utilisateur à chaque requête (avec éventuellement une stratégie de mise en cache). Cela vous permet également d'évoluer vers plusieurs serveurs d'applications sans trop vous préoccuper de la mise en cluster: chaque instance recherche simplement le jeton d'utilisateur et effectue une recherche sur la base de données partagée.
Si vous intégrez l'implémentation réelle derrière une interface sympa, vous pouvez commencer avec la solution de session facile/bon marché et passer progressivement à une implémentation plus complexe si vous en avez besoin plus tard. Une mise en garde est que vous devrez faire très attention à ne pas divulguer d'informations spécifiques aux servlets dans l'interface de votre première implémentation.
- 1. Meilleur moyen de rechercher
- 2. Quel est le meilleur moyen de conserver les données dans une application Java Desktop?
- 3. Quel est le meilleur moyen de conserver un graphe d'objet Entity Framework en mémoire?
- 4. meilleur moyen d'échanger des fichiers
- 5. Meilleur moyen de PHP à ASP.net?
- 6. Quel est le meilleur moyen de gérer QUERY_STRING en PHP?
- 7. Meilleur moyen de conserver une liste ordonnée de fenêtres (de la plus récente à la plus ancienne)?
- 8. Meilleur moyen de télécharger un fichier binaire?
- 9. Le meilleur moyen de multi-thread?
- 10. Meilleur moyen de transmettre char * à .Net
- 11. Meilleur moyen de commencer le développement Mac
- 12. Meilleur moyen de vérifier l'exception interne?
- 13. meilleur moyen pour les formes dynamiques avec Spring?
- 14. Quel est le meilleur moyen de conserver ces données dans les gestionnaires d'événements Javascript en utilisant jQuery
- 15. Quel est le meilleur moyen d'empaqueter une application Java avec beaucoup de dépendances?
- 16. Meilleur moyen de passer par référence de C# à C++?
- 17. Meilleur moyen de migrer de VSS vers Subversion?
- 18. Meilleur moyen de rechercher base de données sqlite
- 19. Meilleur moyen d'écrire ce code Java?
- 20. Le meilleur moyen d'organiser cette structure?
- 21. Meilleur moyen de lancer de l'animal [] au chien []
- 22. Quel est le meilleur emplacement pour conserver le fichier de configuration du programme sous WINDOWS?
- 23. Conserver les champs de collection avec hibernate
- 24. Meilleur moyen d'extraire le numéro de téléphone et de reformater?
- 25. Quel est le meilleur moyen de comparer plusieurs propriétés javabéennes?
- 26. Quel est le meilleur moyen de déployer des applications Web?
- 27. Meilleur moyen d'ouvrir un document à partir de Java?
- 28. Quel est le meilleur moyen de communication interprocesseur sous Linux?
- 29. Existe-t-il un meilleur moyen de référencer un type?
- 30. Meilleur moyen de gérer le défilement coûteux en JavaScript?