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 :

application login password en jsp


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 21
    Par défaut application login password en jsp
    Salut je passe un stage et il me reste trop peu de temps il faut que je fasse une application en jsp pour se connecter et se deconnecté et c qu une ptte partie de mon projet je ss debutant alors le password et login sont stockes dans un fichier txt aider moi et ne vous preocuppez pas de l aspect securité

    voici un exemple de mon redicule code:



    String login = request.getParameter("login");
    String pass = request.getParameter("pass");

    BufferedReader entree = new BufferedReader ( new FileReader ("c:\\password.txt"));
    while(true)
    {
    String lignelue = entree.readLine() ;
    if (lignelue == null) break ;
    StringTokenizer tok = new StringTokenizer(lignelue,"#") ;
    if ((tok.nextToken().compareTo(login) == 0)&&(tok.nextToken().compareTo(pass) == 0))
    {
    out.print("okokok");
    break;
    }
    else { continue;}
    }
    entree.close();
    --------------------------------------------------------------------------
    non mon code ne marche pas et "login" c'est le non de la zone de saisie texte ainsi que "pass"
    les ereuresc :
    --------------------------------------------------------------------------
    type Rapport d'exception

    message

    description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.

    exception

    org.apache.jasper.JasperException: Exception in JSP: /login.jsp:35

    32: String lignelue = entree.readLine() ;
    33: if (lignelue == null) break ;
    34: StringTokenizer tok = new StringTokenizer(lignelue,"#") ;
    35: if ((tok.nextToken().compareTo(login) == 0)&&(tok.nextToken().compareTo(pass) == 0))
    36: {
    37: out.print("okokok");
    38: break;


    Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)

    cause mère

    java.lang.NullPointerException
    java.lang.String.compareTo(String.java:1168)
    org.apache.jsp.login_jsp._jspService(login_jsp.java:78)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)

    note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/5.5.17.

  2. #2
    Membre éclairé Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 666
    Par défaut
    Dis nous a quoi te sert le mot de passe et login ca a l'air évidant mais faut préciser pour qu'on puis t'aider. bon je vais diner et j'attend ta reponse et t'aiderais car j'en ai le temps sauf si il y a LYLY Roche à la télé
    Allez keep cool, on auras le temps.

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Par défaut
    Question idiote, mais importante : ton code marche-t-il ? (ca semble évident que non, mais tu ne le dis pas...)
    Et, sinon, quel(les) erreur(s) obtiens-tu ?

    Je n'ai pas dépioté ton code, mais à première vue, même si c'est largement perfectible, tu procèdes comme il faut.

  4. #4
    Membre éprouvé Avatar de kore62
    Profil pro
    Inscrit en
    Août 2007
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 222
    Par défaut
    Bonsoir
    A la place de ton compareto essai d'utliser la methode String.equals(String)
    Vu que ton token c'est un string...

  5. #5
    Membre éprouvé Avatar de kore62
    Profil pro
    Inscrit en
    Août 2007
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 222
    Par défaut
    en plus je crois que quand tu appelles la methode nextToken() dans le if tu avance de ce fait d'un token
    Donc tu avance deux fois dans ton "if" une fois pour ton login et une fois pour ton pass...
    donc du coup quand tu verifies ton login t a deja ton token sur pass et kan tu verifie ton pass t sur rien donc NULL...

    A a connaissance je crois que c'est ca ton NullExcption.. a verifier j suis plus tres sur...

  6. #6
    Membre éprouvé Avatar de kore62
    Profil pro
    Inscrit en
    Août 2007
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 222
    Par défaut
    Tiens je t'ai ecris un code java qui te permet de faire ce que tu voulais... il faut que tu l'adaptes avec tes request.getParameter()..
    J'ai supposé que a première ligne de ton fichier etait le login et que la deuxieme ligne de ton fichier etait le mot de passe
    ex: dans param.txt on a login
    motDePasse

    voila le code (tu peux le tester tu cré un fichier bidon tu met un login et un mot de passe) et tu lance java fichier.java nomDuFichier en ligne de commande et tu verras ca fonctionne nikel...

    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
     
    import java.io.*;
     
    class LireLoginPwd
    {
      public static void main(String[] argv) throws IOException
      {
        BufferedReader buffer = null;
        String motDePasseDansFichier, loginDansFichier;
        String motDePasseEntre="passe";
        String loginEntre="login";
     
        try
          {
            //J'ouvre le fichier assé en argument en lecture à la place de argv[0] met le nom de ton ficher en dur "ex:monfichier.txt"
    	buffer = new BufferedReader(new FileReader(argv[0]));
          }
        catch(FileNotFoundException exc)
          {
    	System.out.println("Erreur d'ouverture du fichier!");
          }
         //Je lis la premiere ligne
         loginDansFichier = buffer.readLine();
         //Je lis la deuxieme ligne
         motDePasseDansFichier = buffer.readLine();
     
         //Je ferme le fichier IMPORTANT!!
         buffer.close();
     
         //Je teste
        if(loginDansFichier!=null && motDePasseDansFichier!=null && loginDansFichier.equals(loginEntre) && motDePasseDansFichier.equals(motDePasseEntre))
          System.out.println("Ok, c'est valide!");
        else
          System.out.println("erreur login ou mot de passe");
     
      }
    }
    Je remache le boulot moi lol En esperant que ca te convienne.. c'est un plaisir!!

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Par défaut
    Citation Envoyé par kore62
    en plus je crois que quand tu appelles la methode nextToken() dans le if tu avance de ce fait d'un token
    Donc tu avance deux fois dans ton "if" une fois pour ton login et une fois pour ton pass...
    donc du coup quand tu verifies ton login t a deja ton token sur pass et kan tu verifie ton pass t sur rien donc NULL...

    A a connaissance je crois que c'est ca ton NullExcption.. a verifier j suis plus tres sur...
    Bien vu kore, en effet, il faut faire attention au nextToken(), et de manière générale à toutes les méthodes next. Stocke la valeur de nextToken() dans une variable, et ne réutilise nextToken que quand tu veux vraiment le token suivant.

    Note : évite ce genre de code
    Ca a l'air anodin, mais quand il y en a un certain nombre dans du code, il devient imcompréhensible (car on ne comprend pas, à première vue, la fonction de ta boucle). En plus, tu as toujours le risque de boucle infinie si ta boucle est mal codée.

Discussions similaires

  1. Interface login password
    Par liverbird dans le forum C++
    Réponses: 6
    Dernier message: 08/06/2006, 13h13
  2. [inernet][WinXp] probleme de login password
    Par gentarik dans le forum Windows XP
    Réponses: 3
    Dernier message: 22/02/2006, 16h25
  3. [C#] Authentification login/password
    Par liliprog dans le forum ASP.NET
    Réponses: 14
    Dernier message: 26/08/2005, 17h06
  4. Enregistrer les infos login/password sur le client
    Par SheikYerbouti dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 07/04/2005, 09h29
  5. Login Password par défaut
    Par YanK dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 18/09/2003, 14h34

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