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 :

Redirection : besoin de conseils


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de le Daoud
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2002
    Messages : 287
    Par défaut Redirection : besoin de conseils
    Bonjour,

    Je souhaiterais savoir comment vous gériez les redirections dans une appli jsp/struts/tiles.
    Voici mon cas : j'ai une page qui peut recevoir différents paramètres, et je dois rediriger le user vers soit la page d'erreur, soit de login si jamais les paramètres sont invalides ou s'il n'est pas authentifié.
    Gérez-vous ces redirections dans la jsp ? Passez-vous par une servlet ?

    Merci

  2. #2
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 890
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 890
    Par défaut
    Salut,

    Le plus adapaté me parrait être une servlet; tu peux rediriger sans renvoyer la réponse, et donc c'est plus optimisé C'est plus propre aussi : il ne faut se servir des JSP QUE pour de l'affichage à mon avis, et exclusivement pour ça Tous les autres traitement effectués dans une JSP sont à prescrire.

    A+

  3. #3
    Membre éclairé Avatar de le Daoud
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2002
    Messages : 287
    Par défaut
    Je te remercie pour cette réponse. Ce qui me titille : encore un fichier ! C'est l'explosion

  4. #4
    Membre émérite
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Par défaut
    Si tu utilises Struts alors pas de question a se poser.

    Passe par une Action et tu fais ton mapping adéquat dans ton struts-config.xml

  5. #5
    Membre éclairé Avatar de le Daoud
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2002
    Messages : 287
    Par défaut
    Merci
    Cependant, je suis encore un peu troublé...

    Toujours ma page ou je peux faire 3 actions (suivi, et 2 niveaux de validation). Cela va correspondre à une action dans mon struts-config. "businessTest" par exemple. Si le user n'est pas loggué, il est redirigé vers la page de login, si les paramètres ne sont pas valides, il est redirigé vers la page d'erreur, si tout est ok il est redirigé vers le mapping "succes".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <action
    			path="/businessTest"
    			type="xxx.xxx.xxx.BusinessActionTest">
    			<forward name="succes" path="/business/suivi.do" />
    			<forward name="erreur" path="/erreur.do" />
    			<forward name="login" path="/login.do" />
    		</action>
    <action 
    			path="/business/suivi" 
    			parameter="/Vues/business/suivi.jsp" 
    			type="org.apache.struts.actions.ForwardAction">
    		</action>
    Dans cet exemple, ce qui me trouble, c'est qui si tout est valide, je suis bien redirigé vers la page suivi.jsp, or, je peux accéder directement à cette page (par l'url /Vues/business/suivi.jsp ou /suivi.do), et je suis donc obliger de faire ici des contrôles dans le code puis des redirections....et je retombe dans mon casse tête.


  6. #6
    Membre expérimenté Avatar de petitpasdelune
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 221
    Par défaut
    Peut-être que je me trompe mais bon voilà mon humble avis :
    pour que tes pages ne soient accessibles que depuis une action, il faut les mettre dans le répertoire WEB-INF (WEB-INF/jsp par exemple)

    Sinon voir ce post un peu ancien : http://www.jguru.com/faq/view.jsp?EID=471953

    PPDL.

  7. #7
    Membre émérite
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Par défaut
    Citation Envoyé par le Daoud
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <action
    			path="/businessTest"
    			type="xxx.xxx.xxx.BusinessActionTest">
    			<forward name="succes" path="/business/suivi.do" />
    			<forward name="erreur" path="/erreur.do" />
    			<forward name="login" path="/login.do" />
    		</action>
    <action 
    			path="/business/suivi" 
    			parameter="/Vues/business/suivi.jsp" 
    			type="org.apache.struts.actions.ForwardAction">
    		</action>
    Dans cet exemple, ce qui me trouble, c'est qui si tout est valide, je suis bien redirigé vers la page suivi.jsp, or, je peux accéder directement à cette page (par l'url /Vues/business/suivi.jsp ou /suivi.do), et je suis donc obliger de faire ici des contrôles dans le code puis des redirections....et je retombe dans mon casse tête.

    Tout simplement parce que tu ne dois jamais déclarer une action directement en tant que JSP mais bien en tant qu'Action :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <action
    			path="/businessTest"
    			type="xxx.xxx.xxx.BusinessActionTest">
    			<forward name="succes" path="/business/suivi.do" />
    			<forward name="erreur" path="/erreur.jsp" />
    			<forward name="login" path="/login.do" />
    		</action>
    <action 
    			path="/business/suivi" 
    			type="org.apache.struts.actions.SuiviAction">
    			<forward name="erreur" path="/Vues/business/suivi.jsp" />
    		</action>
    Si tu es en erreur tu forwardes directement sur ta JSP erreur.jsp (si tu n'as pas de traitement particulier a faire).
    Si tu es loggé tu rediriges sur une Action SuiviAction qui elle se chargera de loader les objets necessaires a afficher dans suivi.jsp. Puis tu forwardes sur suivi.jsp.
    Comme cela dans ton action tu peux utiliser une technique pour vérifier que la personne est logguée voir implémenter ce que l'on appelle un Filter (cf Rechercher).

    Mais plus simplement tu peux forwarder directement dans ton action BusinessActionTest vers suivi.jsp dans le cas succes.

  8. #8
    Membre éclairé Avatar de le Daoud
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2002
    Messages : 287
    Par défaut
    Ok, merci à vous pour votre aide.

    L'accès restreint aux dossiers me permet d'éviter qu'on puisse directement du navigateur demander une url à laquelle seul struts doit pouvoir accéder. Ainsi, le serpent ne se mort plus la queue

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/05/2005, 13h30
  2. .htaccess - url rewriting, besoin de conseils
    Par giminik dans le forum Apache
    Réponses: 2
    Dernier message: 25/04/2005, 20h18
  3. [C#] [ADO.NET] Besoin de conseil
    Par djsbens dans le forum Accès aux données
    Réponses: 8
    Dernier message: 01/04/2005, 15h04
  4. Réponses: 3
    Dernier message: 24/12/2004, 12h21
  5. Réponses: 1
    Dernier message: 06/01/2003, 07h55

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