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] détruire une session


Sujet :

Servlets/JSP Java

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2004
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 25
    Points : 17
    Points
    17
    Par défaut [JSP] détruire une session
    Bonjour,

    Je désire détruire un bean déclaré avec la commande :

    <jsp:useBean id = "db" scope = "session" class = "bfc.DbBean" />

    de telle façon qu'après la destruction de la session, toutes les variables du bean utilisées au cours de la session seront réinitialisées.

    Merci

  2. #2
    Membre expérimenté
    Avatar de fabszn
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2002
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2002
    Messages : 974
    Points : 1 638
    Points
    1 638
    Par défaut
    Hello,

    Si tu detruits ta session, tout le contenu sera detruit y compris le bean db.
    Donc je ne vois pas l'interet de de vouloir reninitialiser les champs.

    J'ai peut etre mal compris ce que tu voulais faire.

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2004
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 25
    Points : 17
    Points
    17
    Par défaut re
    au fait, le bean sert à sauvegarder tt les variables de session comme l'id de l'utilisateur connecté. je veux que lors d'une erreur de navigation l'utilisateur sera déconnecté.

  4. #4
    Membre averti Avatar de guignol
    Inscrit en
    Mai 2002
    Messages
    309
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 309
    Points : 339
    Points
    339
    Par défaut
    et ça ça irait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.setAttribute("db","");
    ?

  5. #5
    Membre expérimenté
    Avatar de fabszn
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2002
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2002
    Messages : 974
    Points : 1 638
    Points
    1 638
    Par défaut
    Citation Envoyé par guignol
    et ça ça irait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.setAttribute("db","");
    ?
    Hello,

    Le bean est au niveau session et pas dans la request...

    Et je pense qu'il serait mieux de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    session.setAttribute("db",new Db());
    plus propre!
    ou encore mieux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    session.removeAttribute("db") ;

  6. #6
    Membre averti Avatar de guignol
    Inscrit en
    Mai 2002
    Messages
    309
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 309
    Points : 339
    Points
    339
    Par défaut
    Oups désolé j'avais pas fait gaffe. Merci fabzn

  7. #7
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    Bonjour,

    j'ai egalement des problemes avec un bean stocke en session.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    session.removeAttribute("db") ;
    ce code marche bien mais je peu appele mon bean que 15 fois, apres il ne repond plus il faut que je relance une autre session pour pouvoir relancer mon bean stocke en session. Pourquoi ???

    merci d'avance pour votre aide

  8. #8
    Membre expérimenté
    Avatar de fabszn
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2002
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2002
    Messages : 974
    Points : 1 638
    Points
    1 638
    Par défaut
    Hello,

    Citation Envoyé par guignol
    Oups désolé j'avais pas fait gaffe. Merci fabzn Wink
    Pas de soucis!



    Citation Envoyé par frankidisco

    Bonjour,

    j'ai egalement des problemes avec un bean stocke en session.
    Code:
    session.removeAttribute("db") ;

    ce code marche bien mais je peu appele mon bean que 15 fois, apres il ne repond plus il faut que je relance une autre session pour pouvoir relancer mon bean stocke en session. Pourquoi ???

    merci d'avance pour votre aide
    15 fois?? Tu as compté? c'est toujours le meme nb de fois?

    C'est tres bizarre... Est ce qu'il est possible que tu nous montres le code ou tu rencontres le probleme?

    Tu dois avoir un endroit qui detruit ta session ou suprime inplicitement ton bean en session.

    Il faudrait que tu implementes l'interface HttpSessionAttributeListener
    Tu pourras voir ce qui se passe concretement!
    Aussi l'interface HttpSessionListener

    J'espere que cela t'aidera...

  9. #9
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    Etant donne que je travaille en jsf je ne sais pas trop comment faire pour voir ce qui se passe au niveau de ma session.
    Concretement ce qu'il se passe :
    - j'effectue une recherche par rapport a deux criteres (nom et prenom)
    - ca marche une 1, 2, 3, ..., 15 fois (toujours 15 fois j'ai compte plusieurs fois)
    - apres mon bean de recherche est bloque ou dumoins il ne repond plus
    - je ne sais pas trop quel bout de code vous montrer car ce code qui marche 15 fois plante la seizieme fois (ou peut etre l'erreur ??)

    L'erreur peut elle venir
    - de la taille memoire de ma session
    - de mes requetes a ma base SQL server
    - de la configurations des servlets

    Ce qui m'inquiete c'est que le bean redevient actif lorsque je m'acharne sur mon bouton rechercher.

    Franchement je suis perdu merci de m'aider

  10. #10
    Membre expérimenté
    Avatar de fabszn
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2002
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2002
    Messages : 974
    Points : 1 638
    Points
    1 638
    Par défaut
    Hello,

    Pour avoir une vue sur ce qu'il se passe au niveau de ta session, fait ce que je t'ai ecris dans mon post précédent à savoir l'implementation HttpSessionListener.. elle te permettra de voir quand est ce que la session est crée ou quand est ce qu'elle est detruite.

    L'autre implementation te permet de surveiller l'ajout et la suppression d'un attribut en session...

    Qu'est ce qui est contenu exactement dans ton Bean? Le resultat de la recherche?

    Comment tu caractérises le fait que ton bean est bloqué? il te renvoie une exception? tu as un message d'erreur?

    Est ce que le volume de données ramenée par la recherche est important?

    Je sais bcp de questions d'un coup... mais c'est pour essayer de mieux cerner le probleme..





  11. #11
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    En fait dans mon bean je recupere les infos suivant le nom et le prenom que j'ai saisi.

    Je recupere pas mal de données mais je ne pense pas que ce soit le volume de donnée car j'ai fait le test et que mes requete renvoie des donnees ou non c'est pareil.

    Pour le nombre de 15 actions j'ai retesté et ce chiffre varie entre 15 et 20.

    Je dis que mon bean est bloque parcque j'ai mis des system.out.println dans le constructeur du backingBeanRecherche et dans la procedure rechercher de mon beanAccueil. Grace a cela je vois que mon BackingBean est bien appele meme si la methode de monBean n'est plus appele.

    Mon probleme c'est que je n'est aucune exception .


    L'erreur pourrait-elle venir de mes connexions à ma base???

  12. #12
    Membre expérimenté
    Avatar de fabszn
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2002
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2002
    Messages : 974
    Points : 1 638
    Points
    1 638
    Par défaut
    Hello,

    Peux tu afficher le code la ou tu as mis un system.out.println ...

  13. #13
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    dans mon BeanRechercher j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public BeanRechercher() {
          monAbonne = new abonne();
    }
     
    public String rechAbonne(){
    System.out.println("recherche de l'abonne");
    monAbonne=tblAbonne.getMonAbonne_By_Nom_Prenom(strNom,strPrenom);
    }
    dans monBackingBeanRechercher j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public BackingBeanRechercher(){
    System.out.println("creation du backing");
    }
    je sais pas si cela pourra t'aider mais je te remercie de m'aider

  14. #14
    Membre expérimenté
    Avatar de fabszn
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2002
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2002
    Messages : 974
    Points : 1 638
    Points
    1 638
    Par défaut
    Hello,

    Encadre l'appelle de ta methode qui ne repond plus au bout de x fois par un try-catch.

    Tu dois essayer de catcher le type Exception.

    Essai cela ...

  15. #15
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    J'ai mis des try catch sur la methode rechercher du bean et ca ne me renvoie aucune erreur idem dans le backing bean.

    Mon navigateur reste bloque sur "transfert de donnees depuis 127.0.0.1"

    En fait j'ai creer une methode qui recherche l'abonne et ca me fait cela. De plus le serveur ne ma lance aucune exception

  16. #16
    Membre expérimenté
    Avatar de fabszn
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2002
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2002
    Messages : 974
    Points : 1 638
    Points
    1 638
    Par défaut
    Hello,

    Peux tu montrer le code ou tu as rajouter le try & catch?

  17. #17
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public String rechAbonneTest(){
    		try{
    			ArrayList listAbonneTemp = new ArrayList();
    			listAbonneTemp = tblAbonne.getMonAbonne_By_Nom_Prenom(strNom,strPrenom);
    			System.out.println("recherche de l'abonne " + strNom + " " + strPrenom);
    			monAbonne = (abonne)listAbonneTemp.get(0); 
     
    		}catch(Exception e){
    			e.printStackTrace();
    		}
    		return "";
    	}
    et dans mon tblAbonne la methode appele est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    public static ArrayList getMonAbonne_By_Nom_Prenom(String nom, String prenom) {
     
    		ArrayList mesAbonnes = new ArrayList();
    		Connection conn;
    		ResourceBundle paramBase;
    		paramBase = ResourceBundle.getBundle("proprietes.base");
     
    		String strClassName = paramBase.getString("pilote");
    		String strUrl = paramBase.getString("url")
    		                + ";user=" + paramBase.getString("utilisateur")
    						+ ";password=" + paramBase.getString("mdp")
    						+ ";DatabaseName=" + paramBase.getString("nom_base");
     
    		try {
     
    			Class.forName(strClassName);
    			conn = DriverManager.getConnection(strUrl);
    			String strQuery = "SELECT * FROM ABONNE WHERE ABONNE_NOM " +
    					          "LIKE '" + nom + "%' " +
    					          "AND ABONNE_PRENOM LIKE '" + prenom + "%' ";
    					       			Class.forName(strClassName);
    			Statement stAddUser = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
    			ResultSet rs = stAddUser.executeQuery(strQuery);
    			while (rs.next()){
    				abonne monAbonneTemp = new abonne(rs.getInt(1), rs.getString(2).substring(0,2), rs.getString(3), rs.getString(4), rs.getString(6),rs.getString(7),rs.getString(9));
    				mesAbonnes.add(monAbonneTemp);
    			}
     
    			//liberation des ressources
    			rs.close();
    			stAddUser.close();
    			conn.close();
    			rs=null;
    			stAddUser=null;
    			conn=null;
     
    		} catch (ClassNotFoundException e) {
    			e.printStackTrace();
    		}catch (SQLException e) {
    			e.printStackTrace();
    		}
    		return mesAbonnes;

  18. #18
    Membre expérimenté
    Avatar de fabszn
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2002
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2002
    Messages : 974
    Points : 1 638
    Points
    1 638
    Par défaut
    Hello,

    C cette ligne la sur laquelle il bloque? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     listAbonneTemp = tblAbonne.getMonAbonne_By_Nom_Prenom(strNom,strPrenom);
    Est ce que tu as verifié si il rentrait dedans et sur quelle ligne il buttait?

  19. #19
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    non il ne bloque pas sur cette ligne la.
    En fait j'ai l'impression qu'il me creer deux fois mon Backing beanRechercher.
    Voici l'extrait de ma console apres m'etre connecter avec login mot de passe et avoir effectue une recherche:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    entrer constructeur BeanRechercher
    sorti constructeur BeanRechercher
    entrer constructeur BackingBeanRechercher
    sorti constructeur BackingBeanRechercher
    entrer constructeur BackingBeanRechercher
    sorti constructeur BackingBeanRechercher
    entre dans la procedure rechercherAbonne
    entre dans tblAbonne
    sorti tblAbonne
    sorti de la procedure rechercherAbonne
    entrer constructeur BackingBeanRechercher
    sorti constructeur BackingBeanRechercher
    entrer constructeur BackingBeanRechercher
    sorti constructeur BackingBeanRechercher
    j'appelle ma mehode dans ma jsp comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <h:commandButton value="#{msg.bt_rechercher}"
    									action="#{BeanRechercher.rechercherAbonneTest}" 
    									image="image/bt_rechercher.gif"/>

  20. #20
    Membre expérimenté
    Avatar de fabszn
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2002
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2002
    Messages : 974
    Points : 1 638
    Points
    1 638
    Par défaut
    Hello,

    Excuse moi pour cette reponse tardive...

    C'est assez bizarre la log... Effectivement on a l'impression qu'il effectue la recherche plusieurs fois...

    J'avoue qu'a distance je ne vois pas trop d'ou peut venir le probleme...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Sécurité] Détruire une session
    Par Interface dans le forum Langage
    Réponses: 3
    Dernier message: 17/09/2007, 20h08
  2. détruire une session
    Par Maria1505 dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 24/08/2007, 11h26
  3. [JSP] fermer une session
    Par lcoder dans le forum Servlets/JSP
    Réponses: 17
    Dernier message: 10/04/2007, 15h29
  4. Détruire une session à la fermeture d'une fenètre.
    Par dell77 dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 07/12/2006, 17h12
  5. Détruire une session
    Par perlgirl dans le forum Langage
    Réponses: 4
    Dernier message: 28/09/2006, 02h22

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