Jsp usebean creé une erreur une foix sur deux

Résolu
enjoytun Messages postés 6 Date d'inscription mardi 9 janvier 2007 Statut Membre Dernière intervention 6 avril 2010 - 6 avril 2010 à 14:36
enjoytun Messages postés 6 Date d'inscription mardi 9 janvier 2007 Statut Membre Dernière intervention 6 avril 2010 - 6 avril 2010 à 16:52
Salut tout le monde

j'ai un petit probléme ici

code javabean déja dans meta-inf avec une compilation succé
package base.connection;
 
import java.sql.*;  
import java.io.*;  

public class MysqlConnect implements Serializable {

  String dbURL = "jdbc:mysql://localhost:3306/base";
  String dbDriver = "sun.jdbc.odbc.JdbcOdbcDriver"; 
  private Connection dbCon; 

  public boolean connect() throws ClassNotFoundException,SQLException{ 
          Class.forName(dbDriver); 
          dbCon = DriverManager.getConnection(dbURL,"root","monpass"); 
          return true; 
        } 
        	
 public void MysqlConnect(){}
        	
 public void close() throws SQLException{ 
        dbCon.close(); 
       } 

  public ResultSet execSQL(String sql) throws SQLException{ 

                    Statement s = dbCon.createStatement(); 
                    ResultSet r = s.executeQuery(sql); 
                    return (r == null) ? null : r; 
                    } 

public boolean  updateSQL(String sql) throws SQLException
{
Statement s = dbCon.createStatement(); 

try
{


 s.executeUpdate(sql);
 return true;
}
catch (Exception e)
{
return false;

}

}
      
      public static void main (String[] args) {
}

}



voici la page jsp ou j'ai eu un jasperexception aléatoirement

<%@ page language="Java" import="java.sql.*" %>  
<jsp:useBean id="db" scope="session" class="base.connection.MysqlConnect"/> 
<jsp:setProperty name="db" property="*" />


<% 

if(db.connect())
{


 String login = request.getParameter("login");
   	 String password = request.getParameter("password");
         ResultSet rs = null ;

         ResultSetMetaData rsmd = null ; 
         int numColumns ; 
         int i;  
 String requete = "SELECT Password FROM employe where (Login=""+login+"")";



rs = db.execSQL(requete);  

rs.next();

if (  password.equals(rs.getString(1)) ) {
session.setAttribute("authorized", "yes");
session.setMaxInactiveInterval(1000); // intervalle d'inactivité
%>
  <jsp:forward page="menu.jsp"/>

<%
} 

   
else {
        // Invalid login
        session.setAttribute("authorized", "no");
out.println("Mot de passe  ou login incorrect !");
}


else{out.println("connection avec la base de donnée perdu ! "); }
db.close()

%>





J'utilise tom cat 5 + jre 1.6

j'ai essayer de compiler différament en cas ou avec

jdk 1.4
jdk 1.5
jdk 1.6
mais toujour le meme probléme une fois sur deux le code fonctionne

en sachant que si je me logue avec la page avant la jsp cité je me trouve avec l'erreur suivante

rg.apache.jasper.JasperException: /afficher_client.jsp(9,0)
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)

j'ai essayer de me connecter directement via une page jsp avec l'authentification directe dans la page jsp ca fonctionne a meirveille
mon probléme consicte a utiliser les javabeans sans aucune erreur

si quelqun a eu le meme probléme et il l'a résolu merci de partager la solution

6 réponses

enjoytun Messages postés 6 Date d'inscription mardi 9 janvier 2007 Statut Membre Dernière intervention 6 avril 2010
6 avril 2010 à 14:39
désolé mai j'ai oublié de ecrire ceci dans l'entete

<%@ page language="Java" import="java.sql.*" %>
<jsp:useBean id="db" scope="session" class="base.connection.MysqlConnect"/>
<jsp:setProperty name="db" property="*" />


juste pour que vous sachez que mon code est complet et il fonctionne pârfois !!!
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
6 avril 2010 à 15:11
Salut,

Mets nous le code complet de ta page jsp... ca sent encore à plein nez le code java dans la jsp... chose à bannir si tu veux un programme facilement debugable!
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
enjoytun Messages postés 6 Date d'inscription mardi 9 janvier 2007 Statut Membre Dernière intervention 6 avril 2010
6 avril 2010 à 15:37
donc voila les codes jsp et html

donc page index en premier lieu

[cpde= jsp]
<html><style type="text/css">
<!--
body {
background-color: #FFF;
background-image: url(mix_yaris_1.gif);
background-repeat: repeat-y;
}
body,td,th {
color: #F00;
font-size: 24px;
}
-->



</style>

<form action="login.jsp" method="post">
<center> Entrez Votre Login et votre Mot de passe S.V.P
</center>
<center>

Login:,
,

----

Mot de passe :,




</center>

</form>




</html>

[/code}

page login.jsp


<html>

<%@ page language ="java" contentType="text\html" %>
<%@ page language="Java" import="java.sql.*" %>  
<jsp:useBean id="db" scope="session" class="base.connection.MysqlConnect"/> 
<jsp:setProperty name="db" property="*" />


<% 

if(db.connect())
{


 String login = request.getParameter("login");
   	 String password = request.getParameter("password");
         ResultSet rs = null ;

         ResultSetMetaData rsmd = null ; 
         int numColumns ; 
         int i;  
 String requete = "SELECT Password FROM employe where (Login=""+login+"")";



rs = db.execSQL(requete);  

rs.next();

if (  password.equals(rs.getString(1)) ) {
session.setAttribute("authorized", "yes");
session.setMaxInactiveInterval(1000); // intervalle d'inactivité
%>
  <jsp:forward page="menu.jsp"/>

<%
} 

   
else {
        // Invalid login
        session.setAttribute("authorized", "no");
out.println("Mot de passe  ou login incorrect !");
}


else{out.println("connection avec la base de donnée perdu ! "); }
db.close()

%>




page menu.jsp

<html>




  

Rent car 

 Client



     Reservation


     Vehicule


    Caisse


     


     


     


     


     


  <!-- fin de #sidebar1 -->

  

     Bonjour, <% String login = request.getParameter("login"); out.println(""+login+""); %>

    Les alertes du jour


     


 


<% 

%>
     


<!-- fin de #mainContent -->

<!-- Cet élément de suppression doit suivre immédiatement l'élément div #mainContent afin de forcer l'élément div #container à contenir tous les éléments flottants enfants -->

<!-- fin de #container -->


</html>

0
enjoytun Messages postés 6 Date d'inscription mardi 9 janvier 2007 Statut Membre Dernière intervention 6 avril 2010
6 avril 2010 à 15:59
j'ai remarqué que si j'ajoute cette ligne
<jsp:useBean id="db" scope="session" class="base.connection.MysqlConnect"/> 


mon programme beggue une fopis sur deux
meme avec une autre classe et meme si je n'utilise pas le beans dans le reste du code jsp

je comprend pas parceque j'ai vérifier la syntaxe de la ligne et elle est bien correcte et ce qui m'etonne que parfois elle fonctionne avec des résultat bien correctes !!

merci de m'aider
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
enjoytun Messages postés 6 Date d'inscription mardi 9 janvier 2007 Statut Membre Dernière intervention 6 avril 2010
6 avril 2010 à 16:00
la ligne qui n'apparait pas meme ici :( <jsp:useBean id="db" scope="session" class="base.connection.MysqlConnect"/>
0
enjoytun Messages postés 6 Date d'inscription mardi 9 janvier 2007 Statut Membre Dernière intervention 6 avril 2010
6 avril 2010 à 16:52
personne n'a d'idé sur cette ligne magique :D
0
Rejoignez-nous