J2ee /struts

kawti Messages postés 11 Date d'inscription dimanche 2 juillet 2006 Statut Membre Dernière intervention 9 juin 2007 - 24 mai 2007 à 01:04
hfatimazahra Messages postés 6 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 5 mai 2008 - 5 mai 2008 à 18:15
bonsoir,
 je developpe acuellement une application web avec le framework struts,je suis debutante en j2ee et j'ai rencontrer des problémes en programation est ce que vous pouver m'aider c urgent!!
j'ai programmer la partie authentifi de l'utilisateur et maint j'ai passer a l'option changer mot de passe de l'utilisateur connécté a son compte,mais mon code ne fonctionne pas et je ne sais pas pourkoi ou c koi son probléme .
voila mon code ActionForm
:

package

rak.form;

import

java.sql.Statement;
import

java.util.ArrayList;
import

java.sql.ResultSet;
import

javax.servlet.http.HttpServletRequest;
import

javax.servlet.http.HttpSession;
import

org.apache.struts.action.ActionErrors;
import

org.apache.struts.action.ActionError;
import

org.apache.struts.action.ActionForm;
import

org.apache.struts.action.ActionForward;
import

org.apache.struts.action.ActionMapping;
import

connexion.connexion;

public
class ChangerForm
extends ActionForm {

private String
nmotpass;

private String
amotpasse;

 

private String
confmotpasse;

private String
ch;

/
public ActionErrors validate(ActionMapping mapping,HttpServletRequest request) {
ActionErrors erreurs new ActionErrors();connexion con

new connexion();HttpSession session= request.getSession();

con.connecter();

try {Statement i =con.getcon().createStatement();

ResultSet q= i.executeQuery(

"UPDATE CLIENT SET MPUTIL='"+
nmotpass+
"'" +

"'WHERE (MPLUTIL='"+
amotpasse +
"')");

while (q.next()){

ch =q.getString(
"MPUTIL");

}

}

catch(Exception e){e.printStackTrace();

}

if(( getAmotpasse() = = null || getAmotpasse().length() < 1 ) && ( getNmotpass() null || getNmotpass().length() < 1)&&( getConfmotpasse()
null || getConfmotpasse().length() < 1)){

erreurs.add(

"Amotpasse",
new ActionError(
"error.amotpasse/nmotpass/conmotpasse.required"));}

else

if(
nmotpass! =
confmotpasse){

erreurs.add(

"nmotpasse",
new ActionError(
"error.nmotpass/conmotpasse.required"));}

return erreurs;}

public
void reset(ActionMapping mapping, HttpServletRequest request) {

this.
nmotpass =
null ;

this.
amotpasse =
null;

this.
confmotpasse=
null ;

 }

public String getNmotpass(){

return
nmotpass;}

/
public
void setNmotpass(String nmotpass) {

this.
nmotpass = nmotpass;}

/
public String getAmotpasse(){

return
amotpasse;}

public
void setAmotpasse(String amotpasse){

this.
amotpasse = amotpasse;}

public String getConfmotpasse() {

return
confmotpasse;}

public
void setConfmotpasse(String confmotpasse) {

this.
confmotpasse = confmotpasse;
}

et voici le code de FormAction

package
rak.action;

import javax.servlet.http.HttpServletRequest;

import

javax.servlet.http.HttpServletResponse;
import

org.apache.struts.action.Action;
import

org.apache.struts.action.ActionForm;
import

org.apache.struts.action.ActionForward;
import

org.apache.struts.action.ActionMapping;
import

rak.form.ChangerForm;

public

class ChangerAction extends Action
{

/public ActionForward execute(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response)

{

ActionForward resultat = null;

ChangerForm changerForm = (ChangerForm) form;

String amotpasse = (changerForm).getAmotpasse();

String nmotpass = (changerForm).getNmotpass();

String confmotpasse = (changerForm).getConfmotpasse();

resultat = (mapping.findForward("succes"));

return resultat;

}

}
aider moi c urgent
merci d'avance .

5 réponses

super_toinou Messages postés 764 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 8 mars 2011 6
24 mai 2007 à 09:50
Yopla,

alors la faut m expliqer tu fais l update avant de vérifier que le log/pass soient saisis ???
Bref regardes les traces dans ton serveur pour voir si t as des exceptions (préfere log4j au System.out).
Qui plus es si je puis me permettre, y a un gros probleme de conception dans ton code : le validate est fait pour controler les champs de surface et en aucun cas faire des accès base et posséder un logique métier !!

Bon courage
++ Toinou
0
kawti Messages postés 11 Date d'inscription dimanche 2 juillet 2006 Statut Membre Dernière intervention 9 juin 2007
24 mai 2007 à 15:28
oui c vrais que en struts avant de passer au  traitement il faut valider le formulaire (selon notre fichier stuts .config) mais quand j'ai programer la partie autehtification j'ai fait la conexion sur ActionForm et ca a marché



bon....j'ai  modifier tout mais toujour des problemes
le formulaire que j'ai a modifier a 3 champs:ancmotpasse,nouvmotpass,et confirmermotpasse et deux bouton concel et valider
quand j'execute le formulaire n'est pas valider (si les champs sont vide il n'affche pas les erreurs que j'ai mis sur changerForm
il ne fait rien du tt le voila

package k.form;




import javax.servlet.http.HttpServletRequest;


import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;


/**
 * MyEclipse Struts
 * Creation date: 05-22-2007
 *
 * XDoclet definition:
 * @struts.form name="changerForm"
 */
public class ChangerForm extends ActionForm
{
 
 private String nmotpass;
    private String amotpasse;
    private String confmotpasse;
 
 public ActionErrors validate(ActionMapping mapping,HttpServletRequest request)
 {
  ActionErrors erreurs = new ActionErrors();
     if(( getAmotpasse() null || getAmotpasse().length() < 1 ) && ( getNmotpass() null || getNmotpass().length() < 1)&&( getConfmotpasse() == null || getConfmotpasse().length() < 1))
   {
    erreurs.add("Amotpasse",new ActionError("error.amotpasse/nmotpass/conmotpasse.required"));
   }
  else
   if(nmotpass!=confmotpasse)
   {
     erreurs.add("nmotpasse",new ActionError("error.nmotpass/conmotpasse.required"));
    }
  return erreurs;
 }


 public void reset(ActionMapping mapping, HttpServletRequest request)
 {
  
  
        this.nmotpass = null;
  this.amotpasse=null;
  this.confmotpasse=null;
  
  
 }


 
 public String getNmotpass()
 {
  return nmotpass;
 }


 public void setNmotpass(String nmotpass)
 {
  this.nmotpass = nmotpass;
 }


 
 public String getAmotpasse()
 {
  return amotpasse;
 }


 
 public void setAmotpasse(String amotpasse)
 {
  this.amotpasse = amotpasse;
 }


 
 public String getConfmotpasse()
 {
  return confmotpasse;
 }


 
 public void setConfmotpasse(String confmotpasse)
 {
  this.confmotpasse = confmotpasse;
 }
}
et voici la classe ChangerForm
/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package rak.action;


import java.sql.Statement;
import java.util.ArrayList;
import java.sql.ResultSet;


import javax.servlet.http.HttpSession;


import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import connexion.connexion;
import rak.form.ChangerForm;


/**
 * MyEclipse Struts
 * Creation date: 05-22-2007
 *
 * XDoclet definition:
 * @struts.action path="/changer" name="changerForm" input="/form/changer.jsp" scope="request" validate="true"
 * @struts.action-forward name="echec" path="/form/changer.jsp" redirect="true"
 * @struts.action-forward name="sucess" path="/form/chpasse.jsp" redirect="true"
 */
public class ChangerAction extends Action
{
 /*
  * Generated Methods
  */
 private String ch;
 private String pass;
 private String numutilisateur;
 /**
  * Method execute
  * @param mapping
  * @param form
  * @param request
  * @param response
  * @return ActionForward
  */
 public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
 {
  ActionForward resultat = null;
  ChangerForm changerForm = (ChangerForm) form;
  
  HttpSession session = request.getSession();
  String id = (String)session.getAttribute("login");
  // TODO Auto-generated method stub
  String amotpasse = (changerForm).getAmotpasse();
  String nmotpass = (changerForm).getNmotpass();
  String confmotpasse = (changerForm).getConfmotpasse();
  connexion con = new connexion();
  con.connecter();
  try{
    Statement i =con.getcon().createStatement();
    ResultSet r=i.executeQuery("SELECT MPUTIL FROM CLIENT WHERE LOGUTIL='"+numutilisateur+"'");
       while(r.next()){
       pass=r.getString("MPUTIL");
       
        }
       System.out.println("je suis la!!");
       
    } catch(Exception e){
     e.printStackTrace();
    }
    
   if(!(amotpasse.equals(pass)))
   {
    resultat = (mapping.findForward("echec"));
   
   }
   //else
   //{
    //Statement p =con.getcon().createStatement();
  //ResultSet q=p.executeQuery("UPDATE CLIENT SET MPUTIL='"+nmotpass+"'" +
   //"'WHERE (MPLUTIL='"+ amotpasse + "')");
   //}
  resultat = (mapping.findForward("succes"));
   
 
  return resultat;
 }
}
j'ai pas su faire le update du mot de passe de l'utilisateur connnecté c'est ce truc de session qui me géne,je suis totalement  bloqué,
s'i vous plais si vous avez un code ou une solution  pour prendre exemple passer le moi
merci
0
super_toinou Messages postés 764 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 8 mars 2011 6
24 mai 2007 à 17:16
yopla,

- pour le validate du formulaire t as bien mis validate="true" dans ton struts config ??
- sinon pour le update j peux pas trop t aider, c est koi cette classe mystique connexion ?? (qui respecte pas la normenclature java soit disant ... )

++ Toinou
0
hfatimazahra Messages postés 6 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 5 mai 2008
5 mai 2008 à 18:15
hfatima
0

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

Posez votre question
hfatimazahra Messages postés 6 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 5 mai 2008
5 mai 2008 à 18:15
hfatima
bonjour j'ai en train de faire mon pfe et je vais travailler avec GWT .si vous avez une idée sur GWT n'hésitez pa à m'informeret merci
0
Rejoignez-nous