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 :

struts RequestProcessor class


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 15
    Par défaut struts RequestProcessor class
    j'ai un probleme d'execution de classprocessor
    voici la balise controller dec struts-config.xml:
    <controller processorClass="com.optimalsystem.grh.user.web.action.CustomRequestProcessor"/>

    voici la methode la classe CustomProcessor:
    protected boolean isUserConnected(HttpServletRequest request,HttpServletResponse response, ActionMapping mapping)
    throws java.io.IOException, javax.servlet.ServletException {
    HttpSession session = request.getSession(false);
    //LoginForm login = (LoginForm) session.getAttribute("user");
    if (session.getAttribute("user")!=null ) {

    //Login bean = (Login) session.getAttribute("bean");
    System.out.println("user is trying to access login page !!UserConnected");

    return true;
    }

    else
    {
    request.getRequestDispatcher ("/identification.jsp").forward(request,response);
    return false;
    }
    }

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 230
    Par défaut
    Bonjour,

    Et quel est le problème ?

    Si tu as un NullPointerException cela provient peut-être du fait qu'en cas de perte de session :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HttpSession session = request.getSession(false);
    aura pour résultat session = null et donc que ce test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    session.getAttribute("user")!=null
    plantera.

  3. #3
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 15
    Par défaut merci
    Citation Envoyé par Benouze
    Bonjour,

    Et quel est le problème ?

    Si tu as un NullPointerException cela provient peut-être du fait qu'en cas de perte de session :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HttpSession session = request.getSession(false);
    aura pour résultat session = null et donc que ce test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    session.getAttribute("user")!=null
    plantera.



    merci de me repondre mais le probleme que le controlleur ne pose pas d'exception et le programme s'execute mais il ne passe pas par la class CostumRequestProcessor
    merci de m'aider a resoudre ce probleme et merci encore

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 230
    Par défaut
    Bonjour,

    Peux-tu mettre le code de l'ensemble de ta classe CustomRequestProcessor stp ?

  5. #5
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 15
    Par défaut la classe complete
    merci;
    voici la classe:
    package com.optimalsystem.grh.user.web.action;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;

    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.action.RequestProcessor;
    public class CustomRequestProcessor extends RequestProcessor{



    // On verifie si l'utilsateur est bien connecté

    protected boolean isUserConnected(HttpServletRequest request,HttpServletResponse response, ActionMapping mapping)
    throws java.io.IOException, javax.servlet.ServletException {
    HttpSession session = request.getSession(false);
    //LoginForm login = (LoginForm) session.getAttribute("user");
    if (session.getAttribute("user")!=null ) {

    //Login bean = (Login) session.getAttribute("bean");
    System.out.println("user is trying to access login page !!UserConnected");

    return true;
    }

    else
    {
    request.getRequestDispatcher ("/identification.jsp").forward(request,response);
    return false;
    }
    }



    }

    et voisi struts-config.xml:
    <?xml version="1.0" encoding="ISO-8859-1" ?>

    <!DOCTYPE struts-config PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
    "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">

    <struts-config>

    <form-beans>

    <form-bean name="typeContratForm" type="com.optimalsystem.grh.typecontrat.web.form.TypeContratForm"/>

    <form-bean name="loginForm" type="com.optimalsystem.grh.user.web.form.LoginForm" />
    </form-beans>

    <action-mappings>

    <action
    path="/login"
    name="loginForm"
    type="org.springframework.web.struts.DelegatingActionProxy"
    scope="request"
    parameter="dispatch">
    <forward name="success" path="/default.jsp"/>
    <forward name="failure" path="/identification.jsp"/>
    </action>

    <action
    path="/typeContratSetUp"
    name="typeContratForm"
    type="org.springframework.web.struts.DelegatingActionProxy"
    scope="request"
    parameter="dispatch">
    <forward name="success" path="/typeContratForm.jsp"/>
    </action>

    <action
    path="/typeContratProcess"
    name="typeContratForm"
    type="org.springframework.web.struts.DelegatingActionProxy"
    scope="request"
    parameter="dispatch">
    <forward name="failure" path="/typeContratForm.jsp"/>
    <forward name="success" path="/typeContrat.jsp"/>
    </action>

    </action-mappings>



    <controller processorClass="com.optimalsystem.grh.user.web.action.CustomRequestProcessor"/>



    <message-resources parameter="MessageResources" null="false"/>

    <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
    <set-property
    property="contextConfigLocation"
    value="/WEB-INF/src/spring.xml"/>
    </plug-in>

    </struts-config>

  6. #6
    Membre émérite
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Par défaut
    il y a une méthode protected boolean isUserConnected(HttpServletRequest request,HttpServletResponse response, ActionMapping mapping) dans le RequestProcessor ?

    Dans la version de struts que j'utilise il n'y en a pas ! c'est peut-être pour cela que la méthode n'est jamais appellée

  7. #7
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 15
    Par défaut remerciment struts Controller effectuer
    je remercie bien benouze et fnob ..
    vraiment vous avez de l'expertise ..
    merci encore...

  8. #8
    Invité
    Invité(e)
    Par défaut
    bonjour
    je déterre ce topic car j'utilise les méthodes que vous conseillez. Très bonne méthode d'ailleurs. Par contre j'ai un souci :
    j'ai l'impression que le CustomRequestProcessor est executé avant l'action présente dans le action-mappings du struts-config. Or, c'est à cet endroit que je déclare et initialise ma variable isLogged, que je teste ensuite dans le RequestProcessor.

    Donc ma variable n'est jamais initialisée et au login, je me fais rejeter vers cette même page. Où doit-on initialiser cette variable ? Ou alors peut-on n'appliquer le CustomRequestProcessor qu'à une partie des pages ?

    Merci

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

Discussions similaires

  1. [Struts] request dans classes java
    Par mlequim dans le forum Servlets/JSP
    Réponses: 24
    Dernier message: 27/10/2005, 13h52
  2. [JSP][STRUTS] Passer des objets à une classe action
    Par maphi dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 10/08/2005, 16h55
  3. [Struts]control dans la class form
    Par jimi dans le forum Struts 1
    Réponses: 8
    Dernier message: 01/06/2005, 16h50
  4. Réponses: 12
    Dernier message: 01/07/2004, 11h03
  5. [Struts][classe Action]Mettre un objet en parametre (suite)
    Par julienOriano dans le forum Struts 1
    Réponses: 6
    Dernier message: 16/06/2004, 15h54

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