Maison >Java >javaDidacticiel >Qu'est-ce qu'une session ? Pourquoi utiliser des beans session ?

Qu'est-ce qu'une session ? Pourquoi utiliser des beans session ?

PHP中文网
PHP中文网original
2017-06-21 10:14:222086parcourir

URL de mon article de blog

Qu'est-ce qu'une session

La connexion entre le client et le serveur dans un délai limité

Pourquoi utiliser les beans session

Parce que la plupart des services EJB sont spécifiquement fournis aux beans session

1. Concurrence et sécurité des threads : les conteneurs utilisent de nombreuses technologies pour garantir automatiquement que les développeurs n'ont pas à se soucier concurrence ou sécurité des threads Problèmes de sécurité des threads
2. Prestation de services de traitement à distance et de services web
3. Gestion des affaires et de la sécurité
4. Intercepteur

Spécification du bean session

1. Avoir au moins une interface métier (non obligatoire après EJB3.1)
2. Les beans de session doivent être concrets. Les beans de session ne peuvent pas être définis comme finaux ou abstraits
. 3. Le bean session doit avoir un constructeur sans paramètres
4. Vous pouvez définir des méthodes métier et des méthodes de rappel du cycle de vie dans la classe du bean session ou la classe parent
5. Un bean session peut être une sous-classe d'un autre bean session ou tout autre POJO. Lorsqu'il s'agit d'une sous-classe d'un autre bean session, les méthodes de rappel du cycle de vie et les annotations d'injection de dépendances définies dans la classe parent seront héritées par la classe du bean actuelle.
6. Les méthodes du bean session ne peuvent pas commencer par "ejb". Toutes les méthodes métier doivent être publiques et ne peuvent pas être des méthodes finales ou statiques. De plus, si le bean session est distant, tous les paramètres d'entrée et de sortie doivent implémenter l'interface de sérialisation

<.>

Interface métier

1. Interface locale : @Local Opérations collaboratives dans la même instance de conteneur (JVM)

2. Interface distante : les opérations collaboratives @Remote dans différentes instances de conteneur (JVM) sont accessibles via RMI
3. Interface de point de terminaison de service Web : @WebService est unique aux beans sans état et peut exposer les beans sans état en tant que services Web basés sur SOAP

Gestion de plusieurs interfaces métier : vous ne pouvez pas marquer la même interface avec plus d'une annotation de type d'accès. Vous pouvez choisir d'utiliser l'interface parent puis hériter de la sous-interface pour éviter la duplication de code

.

Bean session sans état

Utilisé pour modéliser les tâches qui ne maintiennent pas l'état de session

Il existe deux modes de création, l'un est le pooling, dans lequel le conteneur crée un pool de beans session, crée un nombre correspondant d'exemples de beans session et les gère ; l'autre est le mode singleton (nécessite EJB3.1 et versions ultérieures uniquement pris en charge)

Annotation : @Stateless informe le conteneur que cette classe est un bean sans état, et le conteneur fournira automatiquement au bean : le contrôle de concurrence, la sécurité des threads, le pooling, la gestion des transactions et d'autres services

Bean de session avec état

Utilisé pour modéliser les tâches qui nécessitent le maintien de l'état de session. Le conteneur EJB maintiendra l'état de session pour nous

. Il doit y avoir une méthode annotée avec @Remove

Remarque : Sélectionnez les données de session de manière appropriée et essayez d'utiliser des données qui consomment moins de ressources ; n'oubliez pas d'utiliser la passivation et la suppression

Alternative : S'il s'agit d'une application Web, utilisez HttpSession pour maintenir l'état

Meilleure implémentation des beans de session

1. Sélectionnez le type de bean de session, c'est-à-dire s'il s'agit d'un bean avec état ou d'un bean sans état

2. Analyser le type d'interface du bean session (@Local, @Remote)

3. N'injectez pas de beans de session avec état dans des beans de session sans état ou des servlets

4. Diviser les éléments de transaction transversaux (utiliser l'intercepteur AOP pour traiter)

5. Types de données stockés dans des beans de session avec état (à choisir avec soin)

6. Les beans session avec état doivent définir les méthodes annotées @Remove

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Classe de chaîne de base JavaArticle suivant:Classe de chaîne de base Java