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

Struts 1 Java Discussion :

Deconnexion d'une application Struts


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 58
    Par défaut Deconnexion d'une application Struts
    Salut,
    j'ai fait une application struts (plusieurs pages jsp). et maintenant je souhaite ajouter un lien hypertexte par exemple pour se deconnecter de l'application.
    je n'ai aucune idee.

    j'ai trouvé ce bout de code sur le net mais je n'arrive pas à le faire marcher.

    j'ai ajouté ce bout de code dans toutes mes pages
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <tr>
          <td height="10">&nbsp;</td>
           <td><div> <html:link action="/deconnexion">Logout</html:link>
    </tr>
    dans mon fichier struts-config
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <action
         path="/deconnexion"
         parameter="/vues/deconnexion.jsp"
         type="Deconnexion.FormulaireAction"
     >
        <forward name="formulaire" path="/formulaire.do"/>
    </action>
    et j'ai cree un packetage et j'ai mis ca dedans
    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
     
    package Deconnexion;
     
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
     
    public class DeconnexionAction extends Action {
    		public ActionForward execute(ActionMapping mapping, ActionForm form,
    			HttpServletRequest request, HttpServletResponse response) {
    		 try{
     
    			  HttpSession session = request.getSession(false);
    			  if(session!=null) {
    				  session.invalidate();
    				  } 
     
    		  	  }catch(Exception e){
    		  		String strError=e.getMessage();
    				System.out.println("Error is: " + strError);
    		  	  }
     
    		  	return mapping.findForward("formulaire");
    		   }
    	}

  2. #2
    Membre confirmé Avatar de badoress
    Inscrit en
    Mars 2007
    Messages
    169
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2007
    Messages : 169
    Par défaut
    est ce qu'il te sort un message d'erreur ou rin ne se passe??
    verifie bien ton attribut type dans la balise action
    d'après ce que tu as posté je pense que tu dois mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <action
         path="/deconnexion"
         parameter="/vues/deconnexion.jsp"
         type="Deconnexion.DeconnexionAction"
     >
        <forward name="formulaire" path="/formulaire.do"/>
    </action>
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <action
         path="/deconnexion"
         parameter="/vues/deconnexion.jsp"
         type="Deconnexion.FormulaireAction"
     >
        <forward name="formulaire" path="/formulaire.do"/>
    </action>

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 58
    Par défaut
    Bonjour, quand je clique sur le lien logout, ca m'envoie vers une page vierge et non pas vers la page que j'ai indiqué dans mon DeconnexionAction.
    et c'est toujours possible de revenir en arriere avec le bouton precedent.
    Pour l'erreur que tu m'as corrigé, c'etait juste une faute du au copier coller. mon code etait correcte.

  4. #4
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 58
    Par défaut
    j'ai reussi a resoudre une partie du probleme, quand je clique sur logout, il me redirige bien vers la page d'accueil. mais on peut toujours revenir en arriere ou taper le lien directement dans l'url. Comment faire pour resoudre ce nouveau probleme.
    Merci

  5. #5
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 23
    Par défaut
    Bonjour,

    Pour éviter que l'on retourne en arrière une fois la session invalidée, tu pourrais peut-être utiliser un controller struts, qui permet l'éxécution d'un bout de code avant l'éxecution d'une quelconque action. Ce code éxecuté permet , si la session est terminée, de rediriger par exemple vers une page d'erreur ou de login :

    http://java.developpez.com/faq/strut...processorcheck



  6. #6
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 237
    Par défaut
    sinon, il faut tester en haut de chacune de tes pages la validité de la session.
    si la session est nulle, tu rediriges vers la page de login.

    par contre, je ne suis pas sûr que ça suffira pour le back via le navigateur car il se peut qu'il aille chercher la page dans le cache du navigateur.
    Dans ce cas, il faut faire un no-cache en entête de page pour éviter que les pages soient mises en cache pas le navigateur.

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/05/2007, 20h37
  2. Problème de filtre pour une application struts.
    Par mazizou dans le forum Struts 1
    Réponses: 5
    Dernier message: 31/03/2007, 15h54
  3. fermer une application struts
    Par zurich dans le forum Struts 1
    Réponses: 4
    Dernier message: 30/10/2006, 16h20
  4. installer une application struts sur le reseau
    Par zurich dans le forum Struts 1
    Réponses: 2
    Dernier message: 17/10/2006, 17h22
  5. Utilisation des fichiers CSS dans une application Struts
    Par menzlitsh dans le forum Struts 1
    Réponses: 4
    Dernier message: 22/09/2006, 16h29

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