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 :

Récupération des attributs d'une jsp sans avoir recours à une servlet


Sujet :

Servlets/JSP Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 14
    Points : 5
    Points
    5
    Par défaut Récupération des attributs d'une jsp sans avoir recours à une servlet
    Bonjour;


    J'ai un formulaire dans une page jsp qui s'occupe de l'authentification Apache Tomcat , donc j'utilise la servlet par défaut "j_security_check" pour gérer la forme.

    Maintenant j'ai besoin de garder l'identifiant de l'utilisateur qui s'est authentifié dans la session pour que cette valeur soit accessible par toutes les pages.

    Mais je n'arrive pas à le faire car le traitement se fait à la servlet à laquelle j'ai pas pas accès,

    Je tourne plutôt dans un cycle vicieux; (page login avec servlet par défaut) --> (servlet inaccessible) ----> (valeurs intouvables)

    Je me demande si quelqu'un peut m'aider, la solution peut être claire mais je la voit pas par manque d'expérience dans le domaine.

  2. #2
    Membre actif Avatar de DarkMolo
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    207
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Maroc

    Informations forums :
    Inscription : Juillet 2006
    Messages : 207
    Points : 277
    Points
    277
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.getUserPrincipal()
    Comme dit sur la doc, ça te retourne l'identifiant de l'utilisateur authentifié.

    A+,

  3. #3
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Si tu as juste besoin du login, tu n'as même pas besoin de le stocker en session puisque tu y as accès par le request à tout moment (comme te l'a montré DarkMolo).

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Merci pour votre réponse, mais ça ne marche toujours pas pour moi!
    J'ai même essayé d'afficher tout les attributs et propriétés de request et session et je ne trouve rien stocké dedans!
    Lorsque j'ai appliqué votre méthode ça ne m'affiche rien du tout, même pas "null"!
    Je ne sais pas qu'est ce que ça peut être!

  5. #5
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Montre nous le fichier web.xml et la page de login.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 14
    Points : 5
    Points
    5
    Par défaut fichier web.xml et login
    Voici mon Web.xml :
    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!--
        Licensed to the Apache Software Foundation (ASF) under one or more
        contributor license agreements.  See the NOTICE file distributed with
        this work for additional information regarding copyright ownership.
        The ASF licenses this file to You under the Apache License, Version 2.0
        (the "License"); you may not use this file except in compliance with
        the License.  You may obtain a copy of the License at
     
             <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">http://www.apache.org/licenses/LICENSE-2.0</a>
     
        Unless required by applicable law or agreed to in writing, software
        distributed under the License is distributed on an "AS IS" BASIS,
        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
        See the License for the specific language governing permissions and
        limitations under the License.
    -->
     
      <!--DOCTYPE web-app PUBLIC
        "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
        "http://java.sun.com/dtd/web-app_2_3.dtd"-->
     
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
      <display-name>Struts Blank Application</display-name>
     
      <!-- Standard Action Servlet Configuration -->
      <servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <init-param>
          <param-name>config</param-name>
          <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <load-on-startup>2</load-on-startup>
     </servlet>
     
     
    <security-constraint>
        <web-resource-collection>
            <web-resource-name>ALL</web-resource-name>
            <url-pattern>/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>role1</role-name>
        </auth-constraint>
    </security-constraint>
     
    <security-role>
        <description>Test user</description>
        <role-name>role1</role-name>
    </security-role>
     
    <!--<login-config>
        <auth-method>BASIC</auth-method>
        <realm-name>OnJava Application</realm-name>
    </login-config>
     
     
    -->
    <login-config>
     <auth-method>FORM</auth-method>
     <realm-name>OnJava Application</realm-name>
     <form-login-config>
       <form-login-page>/view/components/login.jsp</form-login-page>
       <form-error-page>/view/components/error.jsp</form-error-page>
     </form-login-config>
    </login-config>
     
     
      <!-- Standard Action Servlet Mapping -->
      <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
      </servlet-mapping>
     
     
      <!-- The Usual Welcome File List -->
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
     
    </web-app>
    et voici la page du login :

    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
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
     
    <html>
    <head>
        <title>Obsolescence</title>
    </head>
     
    <body>
        <form action="j_security_check" method="post" name="frm">
        <input type="text" name="j_username"/>    
        <input type="password" name="j_password"/>
        <input type="submit" value="Connexion"/>
        </form>    
    </body>
    </html>
    et c'est la partie où je veux récupérer l'utilisateur sur la page index.jsp (avec le test du contenue de session et request):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Bonjour <%=request.getUserPrincipal()%>
            <br>
            <%Enumeration en = request.getParameterNames(); 
            while (en.hasMoreElements()) { 
                String pName = (String) en.nextElement();
                out.println(pName + "=" + request.getParameter(pName)); 
            }
            %>
            <%Enumeration ep = session.getAttributeNames(); 
            while (ep.hasMoreElements()) { 
                String pName = (String) ep.nextElement();
                out.println(pName + "=" + session.getAttribute(pName)); 
            }
            %>
    Merci pour votre collaboration!

  7. #7
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    L'information "utilisateur" ou "login" est contenue dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.getUserPrincipal().getName()
    A noter que si on n'est pas authentifié, request.getUserPrincipal() retourne null.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    ouiiiiiiiiiii, ça a marché finalement, merci beaucoup !!

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 14
    Points : 5
    Points
    5
    Par défaut Session
    Bonjour;

    Je galère de nouveau pour avoir une variable que j'ai stocké au niveau de ma servlet sur la session, et que j'essaie de lire à partir de ma page jsp.

    En détail; j'ai une action où je stock une variable de type "Standard_component" (un objet que j'ai casté en ce type), et je n'arrive pas à récupérer cette variable au niveau de la page jsp (on m'affiche qlq chose, mais c pas ma variable), je pense qu'elle perd de type, car sur la page lorsque je le caste de nouveau, on me dit que c'est impossible!!!

  10. #10
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Tu utilises la balise <jsp:useBean> ou un autre mécanisme ?
    Peux-tu montrer le fragment de code dans la servlet où tu mets l'objet en session et le code jsp ?

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Merci, au fait c'est résolu!!
    Le problème demeurait dans l'affichage à la jsp, je viens de découvrir les taglib struts et tout marche nikel!!
    Au début je me contentait d'afficher ce que je reçois de l'action sur un attribut de request comme ça:
    <%=request.getAttribut("Resultat")%>
    et du coup je pense que ça m'affichait la référence de l'objet!!!

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 06/07/2009, 13h56
  2. Réponses: 5
    Dernier message: 08/12/2006, 19h02
  3. Réponses: 1
    Dernier message: 18/09/2006, 11h53
  4. Mise à jour d'une table sans avoir la table
    Par Cablan dans le forum Access
    Réponses: 9
    Dernier message: 26/12/2005, 11h24
  5. Réponses: 4
    Dernier message: 26/04/2005, 11h35

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