Table des matières
Qu'est-ce qu'une session
Pourquoi utiliser les beans session
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 ?

Jun 21, 2017 am 10:14 AM
bean 会话 基础知识 série

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Les noms de code complets de la série Xiaomi 15 révélés : Dada, Haotian, Xuanyuan Les noms de code complets de la série Xiaomi 15 révélés : Dada, Haotian, Xuanyuan Aug 22, 2024 pm 06:47 PM

La série Xiaomi Mi 15 devrait être officiellement lancée en octobre, et les noms de code de sa série complète ont été exposés dans la base de code MiCode des médias étrangers. Parmi eux, le produit phare Xiaomi Mi 15 Ultra porte le nom de code « Xuanyuan » (qui signifie « Xuanyuan »). Ce nom vient de l'Empereur Jaune dans la mythologie chinoise, qui symbolise la noblesse. Le Xiaomi 15 porte le nom de code « Dada », tandis que le Xiaomi 15Pro s'appelle « Haotian » (qui signifie « Haotian »). Le nom de code interne du Xiaomi Mi 15S Pro est « dijun », qui fait allusion à l'empereur Jun, le dieu créateur du « Classique des montagnes et des mers ». Couvertures de la série Xiaomi 15Ultra

Comment SpringBoot supprime-t-il les beans inutiles dans les packages jar référencés ? Comment SpringBoot supprime-t-il les beans inutiles dans les packages jar référencés ? May 14, 2023 pm 08:07 PM

Préface : L'entreprise a un projet pressé, et certaines des exigences du projet sont les mêmes que certaines fonctions du projet précédent afin d'accélérer et d'introduire directement certains modules dans le projet maven multi-modules précédent. sous la forme de packages jar.Le nouveau projet a été lancé. Bien qu'il ait permis d'économiser beaucoup de temps de développement, cela a également obligé le projet à importer les dépendances associées du jar du projet, ce qui a rendu le projet gonflé et lent à démarrer. Existe-t-il un moyen de faire en sorte que le projet charge uniquement les beans dont il a besoin ? Bien sûr, nous pouvons directement modifier le code source et le reconditionner pour résoudre le problème, mais cette méthode est trop gênante. Grâce à la méthode de Baidu, la requête peut utiliser l'annotation @ComponentScan sur la classe de démarrage Springboot pour implémenter l'exemple de code @Componen

Le meilleur moment pour acheter la série Huawei Mate 60, la nouvelle élimination de l'IA + mise à niveau de l'image et profiter des promotions d'automne Le meilleur moment pour acheter la série Huawei Mate 60, la nouvelle élimination de l'IA + mise à niveau de l'image et profiter des promotions d'automne Aug 29, 2024 pm 03:33 PM

Depuis la mise en vente de la série Huawei Mate60 l’année dernière, j’utilise personnellement le Mate60Pro comme téléphone principal. En près d'un an, le Huawei Mate60Pro a subi plusieurs mises à niveau OTA et l'expérience globale a été considérablement améliorée, donnant aux gens le sentiment d'être constamment nouveaux. Par exemple, récemment, la série Huawei Mate60 a de nouveau reçu une mise à niveau majeure de ses capacités d'imagerie. Le premier est la nouvelle fonction d'élimination de l'IA, qui peut éliminer intelligemment les passants et les débris et remplir automatiquement les zones vides. Deuxièmement, la précision des couleurs et la clarté du téléobjectif de la caméra principale ont été considérablement améliorées. Étant donné que c'est la rentrée scolaire, la série Huawei Mate60 a également lancé une promotion d'automne : vous pouvez profiter d'une réduction allant jusqu'à 800 yuans lors de l'achat du téléphone, et le prix de départ est aussi bas que 4 999 yuans. Produits couramment utilisés et souvent nouveaux avec une grande valeur

Projet de création de framework Java Spring et analyse d'exemples de stockage et de lecture de Bean Projet de création de framework Java Spring et analyse d'exemples de stockage et de lecture de Bean May 12, 2023 am 08:40 AM

1. Création du projet Spring 1.1 Création d'un projet Maven La première étape consiste à créer un projet Maven Spring est également basé sur Maven. 1.2 Ajouter des dépendances Spring La deuxième étape consiste à ajouter le support Spring (spring-context, spring-beans) au projet Maven et à ajouter des dépendances dans le fichier pom.xml. org.springframeworkspring-context5.2.3.RELEASEorg.springframeworkspring-beans5.2.3.RELEASE s'actualise et attend la fin du chargement. 1.3 Créer une classe de démarrage La troisième étape consiste à créer

Comment utiliser des sessions pour implémenter la connexion et la déconnexion des utilisateurs dans le framework Slim Comment utiliser des sessions pour implémenter la connexion et la déconnexion des utilisateurs dans le framework Slim Jul 28, 2023 pm 11:21 PM

Une introduction à la méthode d'utilisation des sessions pour implémenter la connexion et la déconnexion des utilisateurs dans le framework Slim : les sessions sont une technologie couramment utilisée dans les applications Web. Elles peuvent être utilisées pour stocker et gérer les données relatives à l'utilisateur, telles que l'état d'attente de connexion de l'utilisateur. . En tant que framework PHP léger, le framework Slim fournit une API simple pour gérer les sessions. Cet article explique comment utiliser les sessions dans le framework Slim pour implémenter les fonctions de connexion et de déconnexion des utilisateurs. Pour installer le framework Slim en premier, nous devons

Comment SpringBoot me sélectionne-t-il en premier lors du chargement des beans ? Comment SpringBoot me sélectionne-t-il en premier lors du chargement des beans ? May 15, 2023 pm 09:13 PM

1. Scénarios applicables Si nous devons gérer la séquence de démarrage de beans spécifiques dans toutes les hiérarchies de l'application. Par exemple, vous devez initialiser un bean au démarrage de l'application. Si les beans de notre bibliothèque publique sont utilisés par d'autres services de développement, mais qu'ils doivent personnaliser les beans dans certains scénarios, nous devons charger les beans dans la bibliothèque publique avant ces beans personnalisés. 2. Trois méthodes d'implémentation Dans les applications SpringBoot, nous pouvons adopter les trois méthodes suivantes pour obtenir un chargement prioritaire de nos propres beans : 1. Annotation @Configuration + Annotation @DependsOn @Annotation @Configuration dans SpringBoo

Quels sont les moyens d'obtenir des beans dans Spring Boot ? Quels sont les moyens d'obtenir des beans dans Spring Boot ? May 12, 2023 pm 03:22 PM

Lors de l'utilisation du framework Spring, nous savons tous que si une classe utilise des méthodes d'injection de dépendances telles que @Service et @Autowire pour référencer d'autres objets, dans une autre classe, l'instance de cette classe ne peut être obtenue que via le poids IOC de Spring, ceux dépendants. les objets peuvent être initialisés correctement, sinon ces objets dépendants sont nuls. Il y a donc une question, comment obtenir les haricots dans le conteneur springioc (haricots gérés par le printemps) dans les classes ordinaires. Nous savons tous que l'objet contextuel ApplicationContext au printemps est la base pour obtenir des beans. Au springboot, on peut passer

Comment utiliser les sessions pour l'authentification des utilisateurs dans le framework Slim Comment utiliser les sessions pour l'authentification des utilisateurs dans le framework Slim Jul 28, 2023 pm 05:57 PM

Méthode d'utilisation des sessions (Sessions) pour l'authentification des utilisateurs dans le framework Slim Dans les applications Web, l'authentification des utilisateurs est une fonction importante, qui garantit que seuls les utilisateurs autorisés peuvent accéder aux ressources restreintes. Les sessions sont une méthode d'authentification couramment utilisée qui garantit que les utilisateurs restent authentifiés tout au long de la session en stockant les informations sur l'identité et l'état de l'utilisateur. Le framework Slim fournit des outils et un middleware pratiques pour gérer les sessions et l'authentification des utilisateurs. Ci-dessous, nous présenterons comment utiliser les sessions dans le framework Slim

See all articles