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 :

probleme script jsp


Sujet :

Servlets/JSP Java

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 14
    Points : 6
    Points
    6
    Par défaut probleme script jsp
    bonjour a tous depuis un plusieur jours je bloque car un script jsp que j'ai programmé ne fonctionne pas:
    celui-ci doit comptabiliser le nombre de visitEURs (un visiteur est un ip qui n'est comptabilisé qu'une foi par jour 24h=86400 secondes)

    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
    84
    85
    86
    87
    88
    89
    90
     
    <%@page contentType="text/html" %>
    <%@page language="java" import="java.sql.*" %>
    <%@page language="java" import="java.util.Date" %>
    <%
            String driver = "org.gjt.mm.mysql.Driver";
            Class.forName(driver);  
     
            Connection con=null;
            ResultSet rst=null;
            Statement stmt=null;
            boolean result=false;
     
     
            try{
                    String url="jdbc:mysql://localhost/securite?user=root&password=admin";
                    con=DriverManager.getConnection(url);
                    stmt=con.createStatement();
            }
            catch(Exception e){
                    System.out.println(e.getMessage());
            }
            
     
                    rst=stmt.executeQuery("select * from data_compteur");
    %>
    <html>
    		<body>
    				<%
                                    
                                    String grp = request.getParameter("groupe");
                                    
                                    //recuperation du temps actuel
                                    long actu = 0;
                                    long timeAux = 0;
                                    
                                    Date d = new Date();
                                    actu = d.getTime();
                                    
                                    //mise à jour de la table compteur
                                    while(rst.next()){
                                            timeAux = rst.getLong("data_time");
                                            timeAux = timeAux + 86400;
                                            if (timeAux >= actu){
                                                    stmt.executeUpdate("delete from data_compteur");
                                            }
                                    }
                                    
                                    
                                    // test si l'ip est deja dans la table
                                    rst=stmt.executeQuery("select * from data_compteur where data_grp= '"+grp+"'");
                                    String ip = request.getRemoteAddr();
                                    while(rst.next()){
                                    if (rst.getString("data_ip").equals(ip)){
                                            result=false;
                                    }else{
                                            result=true;
                                    }
                                    
                                    // si l'ip n'y est pas , on place l'ip le groupe et l'heure dans cette table
                                    if (result){
                                            stmt.executeUpdate("insert into data_compteur(data_ip) value('"+ip+"')");
                                            stmt.executeUpdate("insert into data_compteur(data_grp) value('"+grp+"')");
                                            stmt.executeUpdate("insert into data_compteur(data_time) value('"+actu+"')");
                                            
                                    //on incremente ensuite le compteur du groupe "grp", de la table data_cmptGroupe
                                            rst=stmt.executeQuery("select * from data_cmptGroupe where data_groupe= '"+grp+"'");
                                            while(rst.next()){
                                                    double cmpt = rst.getDouble("data_cmpt");
                                                    cmpt++;
                                                    stmt.executeUpdate("insert into data_cmptGroupe(data_cmpt) value('"+cmpt+"')");
                                                    }
                                    }       
     
                    //redirection vers la page du groupe "grp"
                    //String dir = (""+grp+ ".html");
                    %>
     
    		<jsp:forward page= "page.html" />				
     
    <%
                                    }
     
                                    
            rst.close();
            stmt.close();
            con.close();
    %>
    		</body>
    </html>

    le probleme : lors du lancement aucune erreur n'est signalé , mais la page ne se redirige pas ...
    niveau base de données rien ne bouge...

  2. #2
    Membre régulier

    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 73
    Points : 71
    Points
    71
    Par défaut
    vous êtes sure de votre chaine de connection?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 511
    Points : 386
    Points
    386
    Par défaut
    Déjà pour ta connexion je pense que tu as oublié le N° du port qui 3306 pour mysql
    String url="jdbc:mysql://localhost/securite?user=root&password=admin"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String url="jdbc:mysql://localhost:3306/securite"
    et la connexion est plutôt du type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    conn = java.sql.DriverManager.getConnection(urlBdd, login, pass);
    pour le driver recherche un driver apache du type mysql-connector-java-5.1.5-bin.jar que tu place dans le répertoire lib de ton appli
    ----------------------------------------------
    Ensuite il semble que tu empiles tes données dans ta table sans cohérance:
    stmt.executeUpdate("insert into data_compteur(data_ip) value('"+ip+"')");
    stmt.executeUpdate("insert into data_compteur(data_grp) value('"+grp+"')");
    stmt.executeUpdate("insert into data_compteur(data_time) value('"+actu+"')");
    la tu as faits 3 insertions sur 3 lignes alors que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    stmt.executeUpdate("insert into data_compteur(data_ip,data_grp,data_time) value('"+ip+"','"+grp+"','"+actu+"')");
    insère les 3 données sur une ligne.
    -----------------------------------------------
    insère un bloc try catch avec un e.printStackTrace() pour gérer les SQLException avant ton if(result) et la fin de ton while, cela te permettra de cerner un peu plus les pb
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    try{
    	if(resul){
    	...
    	while(..)
    		{....
    		}
    catch(final SQLException e){e.printStackTrace()}
    Courage courage

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    ha merci de ta reponse je vais tester ça

    par contre au niveau des connections j'ai deja fait comme je l'ai écrit et cela marché trés bien , mais ça doit être plus "propre" , par contre j'avou que le "insert" était incoérent (je suis débutant) donc j'éspere que c'était le probleme

    je vous tien au courant

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    bon j'ai testé avec les correction mais toujours rien en plaçant des affichages un peut partout dans le script je me suis aperçus qu'un premier bloquage venait du bloque :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    rst=stmt.executeQuery("select * from data_compteur where data_grp= '"+grp+"'");
       				String ip = request.getRemoteAddr();
    				while(rst.next()){
     
     
    					if (rst.getString("data_ip").equals(ip)){
    						result=false;
    					}else{
    						result=true;
    					}
    et plus ...

    PLZ HELP

  6. #6
    Membre régulier

    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 73
    Points : 71
    Points
    71
    Par défaut
    est ce que tu peux envoyer l'erreur que tu as dans le catch?

Discussions similaires

  1. petit probleme script heure et date
    Par ion dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/12/2005, 20h47
  2. Problème scripting
    Par mlequim dans le forum Linux
    Réponses: 15
    Dernier message: 08/08/2005, 17h04
  3. Problème script Bash
    Par Sphost dans le forum Linux
    Réponses: 10
    Dernier message: 26/07/2005, 09h56
  4. Erreur lors de l'execution d'un script jsp
    Par tuxor dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 06/08/2004, 12h35
  5. Réponses: 5
    Dernier message: 26/04/2004, 19h02

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