Comment stocker l'objet (pas de chaîne) dans la session dans le cadre de jeu?
J'ai un projet pour l'école et je dois utiliser Java. Récemment, j'ai trouvé play framework et je veux essayer de l'utiliser. Il est assez facile pour un démarrage rapide, mais j'ai rencontré un problème avec la session.
Apatrides, de par sa nature, jouer envoie toute la session de l'utilisateur dans le cookie et le reçoit sur demande suivante, de sorte qu'il permet seulement à la quantité limitée de données de la session.
Ce que je veux faire est de récupérer de l'Utilisateur de l'objet de DB sur la connexion de l'utilisateur, et de le garder dans la session, afin que je puisse y accéder à partir de modèles et ainsi de suite (j'ai quelques méthodes dans la classe Utilisateur que j'ai besoin de l'appeler afin de personnaliser l'INTERFACE), mais si je mets de l'Utilisateur de l'objet, jouer à des appels de sa méthode toString et le met que dans la session.
J'ai trouvé que la méthode recommandée est de mettre la plus grande quantité de données dans le Cache, mais je ne sais pas comment y accéder à partir d'un modèle (je suppose que je pourrais faire la méthode avec @Avant d'annotation et d'ajouter un utilisateur à renderArgs, mais cela ne semble pas très propre pour moi). Un autre problème est que le Cache a durée de vie limitée, donc mon objet peut disparaître.
Quelqu'un a une expérience avec ce genre de problèmes?
Est-il possible d'utiliser côté serveur session avec le jeu? Je n'ai pas besoin de REPOS fonctionnalité pour ce projet, donc, autant que je suis concerné, l'application peut enregistrer l'état...
source d'informationauteur del-boy | 2009-11-07
Vous devez vous connecter pour publier un commentaire.
Utilisation de la Sérialisation Java pour sérialiser une table de hachage d'un fichier ou de la base de données. Nom du fichier ou de la colonne d'id d'après un identifiant unique que vous stockez dans de l'utilisateur cookie. Ensuite, mettre de l'objet Utilisateur dans la table de hachage avant de sérialiser la table de hachage. Maintenant, vous avez un magasin permanent que vous pouvez accéder. Lorsque le cadre oublie l'objet Utilisateur ou de toute autre séance d'information, vous pouvez désérialiser la table de hachage. Écrire quelques statique méthodes d'assistance, Objet statique SessionDB.get(String id, String key) et SessionDB.put(String id, String key, Object valeur). J'utilise cette méthode sur mon framework maison pour stocker les informations de session sur une petite batterie de serveurs. Bien sûr, j'utilise la base de données, pas un système de fichiers.
Je pense que vous devriez jeter un oeil à
http://groups.google.com/group/play-framework/browse_thread/thread/3d6946ad0b00303b/188e1b272d91408d?lnk=gst&q=store+object+in+session#188e1b272d91408d
vous pouvez également rechercher ici
http://groups.google.com/group/play-framework
le jeu cadre de la liste de discussion à google groupes est très active, et vous obtenez généralement une réponse dans un couple de jours, tout au plus...
Une autre option est de convertir vos objets en JSON. J'ai créé un simple Util pour et FlexJSON à serialise mes objets en JSON.
REMARQUE: Vous devrez gérer le nettoyage après votre travail et garder à l'esprit que, puisqu'il est stocké dans le cookie, il n'est pas aussi sécurisé.