IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

JSP, Beans et Applet.


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Par défaut JSP, Beans et Applet.
    Bonjour !

    Ayant quelques petits soucis, je me tourne vers vous... peut-être qu'une âme charitable passera dans le coin et m'éclairera de ses lumières

    En fait, dans l'application web que je suis entrain de développer, je dois gérer un accès convenable à une base de donnée.

    Pour se faire, j'ai créé un bean spécial contenant toutes les méthodes pour accéder à ma BD, et j'ai instancié ce bean dans ma page JSP.

    Code :

    <jsp:useBean id="beanBD" scope="application" class="AccesBD.beanBD" />

    Avec un scope de type "application", je ne devrais obtenir qu'une seule instance de mon bean pour toute mon applic (les x pages qui composent mon site web), m'assurant que 2 clients connectés ne puissent utiliser simultanement une méthode synchronized de ce bean.

    Jusque là, est ce que ma logique est correcte ?

    Deuxième problème, d'ordre pratique cette fois :

    Dans ma page JSP se trouve une applet, comment puis-je utiliser dans mon applet le bean instancié dans ma JSP ?

    Par avance merci pour vos réponses

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 29
    Par défaut
    Bonjour,

    Avec un scope de type "application", je ne devrais obtenir qu'une seule instance de mon bean pour toute mon applic (les x pages qui composent mon site web),
    Tout à fait.
    m'assurant que 2 clients connectés ne puissent utiliser simultanement une méthode synchronized de ce bean.
    euh .. je ne comprends pas ce que tu veux dire.Car dans le scope application l'objet et valable pour tous les utilisateurs et est partagé entre eux.


    Pour ton applet, celle-ci est éxécutée chez le client, il faut donc que ton applet se connecte au serveur pour recevoir les données, je ne suis pas sur qu'elle puisse accéder à ton objet (quoique).
    Si j'ai bien compris le fonctionnement tu as plusieurs solutions:
    - ton applet appelle une servlet qui lui retourne les données dans une url.
    - ton applet appelle une servlet qui lui retourne un xml (ou tout autre forme de formalisme comme du json) et ton applet sait traiter ce xml.
    - ton applet appelle une servlet qui lui retourne ton bean sérialisé, et ton applet sait désérialiser l'objet et l'utiliser.

    Ce ne sont que quelques pistes, tout dépend de tes contraintes.

    /Muzo

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Par défaut
    Tout d'abord merci pour ta réponse, Muzo@

    euh .. je ne comprends pas ce que tu veux dire.Car dans le scope application l'objet et valable pour tous les utilisateurs et est partagé entre eux.
    En fait, j'ai une méthode dans mon bean qui sert à réserver des billets d'avions sur un vol. Et je dois m'assurer que 2 utilisateurs connectés ne puissent passer en même temps 2 réservations qui seraient incompatibles ensemble.

    Exemple :

    Il me reste 5 places sur le vol 32.

    J'ai 2 clients connectés qui passent au même moment une réservation pour 3 places, l'un des 2 ne doit pas savoir aller au bout.

    C'est pourquoi j'ai mis en place ce système de bean ayant un scope "application" ayant une méthode réservation de type synchronized.

    Et ce qui m'interesserait au final, c'est de pouvoir utiliser ce bean dans mon applet, afin d'éviter justement de devoir passer par une servlet.

    Mais je ne sais pas trop comment m'y prendre.

    Dans une autre application, j'ai fait communiquer entre elles 2 applets se trouvant sur la même page, via la méthode getAppletContext() , mais cette méthode ne me permet pas d'utiliser dans mon applet le beanBD...

    J'espere avoir été assez clair dans mon explication

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 29
    Par défaut
    OK, j'ai compris la logique.

    Je pense que ce n'est pas à ton applet de faire appel à ton bean, mais à ta servlet, à un EJB ou un web service.

    Tes applets transfèrent les données à ta servlet, et c'est cette servlet qui va appeler ton bean pour enregistrer les données en base.

    De plus dans ta logique de base, il y'a un hic: tu veux transférer le bean sur le client (ton applet), et ce bean se connecte à la bdd pour faire les enregistrements (si j'ai bien compris). Hors il n'est pas dit que ta bdd soit accessible depuis internet, elle peut très bien être dans une zone protégé sans accès web (dans le cas d'une architecture n-tiers bien cloisonnée).
    Si c'est la servlet qui fait appel au bean qui fait les accès bdd, alors ton serveur aura forcément accès à ta bdd.

    /Muzo

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Par défaut
    D'accord, d'accord...

    J'ai bien compris ton explication, Muzo@, et vu que dans l'énoncé il est bien mis que ce doit être conforme à l'architecture 3-tiers.

    Je ne vais donc pas y couper, je vais devoir passer par une servlet.


    Enfin, soit.
    Quoiqu'il en soit, merci à toi !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Servlet - JSP] bean session sous was
    Par piwai dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 08/08/2005, 10h00
  2. [Stratégie][JSP][Bean] Question sur l'affichage
    Par ArseNic dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 07/02/2005, 11h19
  3. [jsp] bean:write dans un appel js
    Par viena dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 18/10/2004, 15h15
  4. [JSP][BEAN]Récuperer des Beans dans un ArrayList
    Par Jones dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 30/08/2004, 11h22
  5. [debutant][JSP][bean]
    Par blaz dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 26/08/2003, 14h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo