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 :

URL navigateur


Sujet :

Struts 1 Java

  1. #1
    Membre confirmé Avatar de billynirvana
    Homme Profil pro
    Architecte technique
    Inscrit en
    Décembre 2004
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 472
    Points : 552
    Points
    552
    Par défaut URL navigateur
    Bonsoir,

    J'ai un problème qui me saoule, le voici:

    J'ai conçu une appli avec:

    Une servlet Genere qui génére les pages JSP (avec du XSL)
    Une servlet Controle qui controle les requetes des formulaires et opère les actions.

    Par exemple:

    Dans Genere:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	public ActionForward execute(ActionMapping mapping,	ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
    		log.debug("Genere.execute");
     
    		String parameter = mapping.getParameter();
    		log.debug("parameter="+parameter);
     
    		if (parameter.equals("AUTHENTIFICATION")) {
    			return genereAuthentification(mapping, form, request, response);
    		} else .....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    	private ActionForward genereAuthentification(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
    		log.debug("Action = genere Authentification.");
     
    		request.getSession(false).setMaxInactiveInterval(1);
    		log.debug("TimeOut="+request.getSession(false).getMaxInactiveInterval() + "sec.");
     
     
    		...
     
    		return (mapping.findForward("success"));
    	}

    Dans Controle:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    	public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
    		log.debug("Controle.execute");
    		String input = mapping.getInput();
    		String name = mapping.getName();
    		log.debug("input="+input);
     
     
    		if (input.equals("adminAuthentification")) {
    			return authentification(mapping, form, request, response);
    		} else
    		if ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	private ActionForward authentification(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
    		log.debug("Action = authentification.");
     
    		String forward = _ADMINHOME;
     
    		...
     
    		return (mapping.findForward(forward));
    	}

    Struts-config:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ...	
    		<form-beans>
    		<form-bean name="AuthentificationForm" type="org.apache.struts.action.DynaActionForm">
    			<form-property name="login" type="java.lang.String" />
    			<form-property name="password" type="java.lang.String" />
    			<form-property name="error" type="java.lang.String" />
    		</form-bean>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	<global-forwards>
    		<forward name="Authentification" path="/Authentification.do" redirect="false" />
    		<forward name="TimeOut" path="/Authentification.do" redirect="false" />...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	<action-mappings>
    		<action path="/Authentification" type="fr.app.struts.action.GenereAction" parameter="AUTHENTIFICATION">
    			<forward name="success" path="/pages/Authentification.jsp" redirect="false" />
    		</action>
     
    		...
     
    		<action input="Authentification" name="AuthentificationForm" path="/AuthentificationAction" scope="request" type="fr.app.struts.action.ControleAction" validate="true" />


    et puis le JSP:

    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
                   <html:form action="/AuthentificationAction" method="POST">
                      <table class="xx">
                         <tr>
                            <td class="xx">
                               <div class="xx">Login</div>
                            </td>
                            <td class="xx">
                               <input id="login" name="login" type="text"/>
                            </td>
                         </tr>
                         <tr>
                            <td class="xx">
                               <div class="xx">Mot de passe</div>
                            </td>
                            <td class="xx">
                               <input id="password" name="password" type="password"/>
                            </td>
                         </tr>
                      </table>
                      <div class="xx">
                         <input type="reset" id=reset" value="Reinitialiser"/>
                         <input type="button" id="valider" value="Valider" onClick="validerFormulaire();"/>
                         <br/> <html:errors property="error"/>
                      </div>
                   </html:form>
     
     
     
    	<script language="Javascript">
    		function validerFormulaire() {
    			if ((document.getElementById('login').value == "") || (document.getElementById('password').value == "")) {
    				alert("Veuillez saisir vos login et mot de passe.");
    			}
    			else {
    				document.AuthentificationForm.submit();	
    			}
    		}
    	</script>

    Enfin ma question:


    QUESTION 1
    Quand je lance l'appli, j'execute sur l'URL htp://localhost:9080/app/Authentification.do. Apres validation du formulaire, j'obtiens dans l'URL htp://localhost:9080/app/AuthentificationAction.html


    Or je souhaiterai obtenir htp://localhost:9080/app/Home.do


    J'ai essayé de mettre les forwards à "true", mais je perds les variables mises dans la request.



    QUESTION 2

    J'ai mis le timeout à 1 et pourtant la session reste vivante??
    J'ai pourtant supprimé les cookies, mais sans résultats...





    Comment faire???





    Merci d'avance,


    Billy

  2. #2
    Membre éclairé

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 346
    Points : 737
    Points
    737
    Par défaut
    Pour ta question 1
    Dans ton mapping tu as :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <action path="/Authentification" type="fr.app.struts.action.GenereAction" parameter="AUTHENTIFICATION">
    			<forward name="success" path="/pages/Authentification.jsp" redirect="false" />
    		</action>
    Donc, aprés l'authetification, tu forward sur succes, qui reforward sur l'authetication donc tu tourne en rond!

    Il faudrait plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <action path="/Authentification" type="fr.app.struts.action.GenereAction" parameter="AUTHENTIFICATION">
    			<forward name="success" path="/pages/Home.do" redirect="false" />
    		</action>
    Pour la question 2
    Si ce que tu veut faire c'est réinitialiser la session, tu peut faire comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    		request.getSession().invalidate();
    		request.getSession(true);

  3. #3
    Membre confirmé Avatar de billynirvana
    Homme Profil pro
    Architecte technique
    Inscrit en
    Décembre 2004
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 472
    Points : 552
    Points
    552
    Par défaut
    Pour la réponse à la question 2, le pb est que bien que je mets le timeout à 1 seconde, j'ai beau attendre 30 secondes sans utiliser l'application, la session ne s'invalide pas toute seule!

    Pour la réponse à la question 1, je reste perplexe, je vais essayer demain.


    Merci d'avoir pris la peine de lire ces lignes.

    @+++

Discussions similaires

  1. [XHTML] Mettre une icone dans la barre d'url du navigateur
    Par web007 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 21/10/2006, 20h27
  2. Réponses: 1
    Dernier message: 23/08/2006, 09h26
  3. Masquer une partie de l'URL sur le navigateur
    Par kayser dans le forum ASP
    Réponses: 5
    Dernier message: 11/04/2006, 14h30
  4. [JDIC] ouvrir url dans un navigateur (même page ou nouvelle page)
    Par dymezac dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 16/02/2006, 15h35
  5. Lancement d'un navigateur internet sur une URL SIMPLEMENT
    Par Jean-mich dans le forum Autres Logiciels
    Réponses: 7
    Dernier message: 10/12/2005, 23h46

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