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 :

Sevlet et fichier XMl


Sujet :

Servlets/JSP Java

  1. #1
    Candidat au Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Juin 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Maroc

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2014
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Sevlet et fichier XMl
    Bonjour
    J'ai un petit soucis, voila j'ai voulu realiser une authentification(Login, pass) avec un fichier XML. voila le code:
    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
    public boolean trouverutilisateur(Personne p) {
            try {
                DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
                DocumentBuilder db = dbf.newDocumentBuilder();
                File file = new File("personnes.xml");
                if (file.exists()) {
                    Document doc = db.parse(file);
                    System.out.println("Dans la liste");
                    Element docEle = doc.getDocumentElement();
     
                    // Print root element of the document
     
     
                    NodeList studentList = docEle.getElementsByTagName("personne");
     
                    // Print total student elements in document
                    Boolean rech=false;
                    if (studentList != null && studentList.getLength() > 0) {
     
                        for (int i = 0; i < studentList.getLength(); i++) {
     
                            Node node = studentList.item(i);
     
                            if (node.getNodeType() == Node.ELEMENT_NODE) {
                               Element e = (Element) node;
                                NodeList nodeList = e.getElementsByTagName("nom");
                               Personne pp=new Personne();
                               pp.setLogin(nodeList.item(0).getChildNodes().item(0).getNodeValue());
                               nodeList = e.getElementsByTagName("pass");
                               pp.setPassfromxml(nodeList.item(0).getChildNodes().item(0).getNodeValue());
                               if (pp.getLogin().equals(p.getLogin()) && pp.getPass().equals(p.getPass())){
     
                            	   return true;
                               }
     
     
     
                            }
                        }
                    } else {
                        System.exit(1);
                    }
                }
            } catch (Exception e) {
                System.out.println(e);
            }
            return false;
        }
    J'ai testé avec void main:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public static void main(String[] args){
    		Personne p=new Personne("francois","francois");
    		LoginDao d=new LoginDao();
    		if (d.trouverutilisateur(p)){
    			System.out.println("je suis la");
    		}
    		else{
    			System.out.println("je ne suis pas la!!!");
    		}
    	}
    Le code accede bien au fichier xml et trouve la personne.
    J'ai realisé une servlet:
    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
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    	}
     
    	/**
    	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		LoginDao dao=new LoginDao();
    		Personne p=new Personne();
    		p.setLogin(request.getParameter("login").toString());p.setPass(request.getParameter("pass").toString());
    		if (dao.trouverutilisateur(p)){
    			HttpSession session = request.getSession() ;
    			session.putValue("personne",p);
    			request.setAttribute("p",p);
    	        request.getRequestDispatcher("/llll").forward(request, response);
    		}
    		else{
     
    			HttpSession session = request.getSession() ;
    			session.putValue("personne",p);
    			request.setAttribute("p",p);
    	        request.getRequestDispatcher("/login.jsp").forward(request, response);
    		}
     
    	}
    Coté jsp voila le code:
    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
    <form class="form-horizontal mt10" action="login" method="post">
              <div class=form-group>
                <div class=col-lg-12>
                  <%
                @SuppressWarnings("unchecked") 
                Personne per = (Personne)request.getAttribute("p");
                  %> 
                  <input name=login id=email class="form-control left-icon" 
                  <%
     
                  if (per != null) {
                	  %> value="<%= per.login %> -- <%= per.getPass() %>"
                  <%}%> placeholder="Your email ...">
                  <i class="ec-user s16 left-input-icon"></i></div>
              </div>
              <div class=form-group>
                <div class=col-lg-12>
     
                  <input type=password name=pass id=password class="form-control left-icon" placeholder="Your password">
                </div>
              <div class=form-group>
     
                <div class="col-lg-6 col-md-6 col-sm-6 col-xs-4">
                  <!-- col-lg-12 start here --><br>
                  <button class="btn btn-success pull-right" type=submit>Login</button>
                </div>
                <!-- col-lg-12 end here -->
              </div>
            </form>
    la personne est redirigé vers la page d'authentification, le login et mot de passe sont aussi affiché dans le champs login.
    Si vous avez une solution a ce probleme

  2. #2
    Candidat au Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Juin 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Maroc

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2014
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Une autre piste
    Bonjour,
    j'ai essayé d'afficher juste les login et mot de passe. Et ça marche pas.
    voici le code:
    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
    public ArrayList<Personne> trouverutilisateur(Personne p) {
            ArrayList<Personne> pers=new ArrayList<Personne>();
    		try {
                DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
                DocumentBuilder db = dbf.newDocumentBuilder();
     
                File file = new File("personnes.xml");
                if (file.exists()) {
                    Document doc = db.parse(file);
                    Element docEle = doc.getDocumentElement();
     
                    // Print root element of the document
     
     
                    NodeList studentList = docEle.getElementsByTagName("personne");
     
                    // Print total student elements in document
                    Boolean rech=false;
                    if (studentList != null && studentList.getLength() > 0) {
     
                        for (int i = 0; i < studentList.getLength(); i++) {
     
                            Node node = studentList.item(i);
     
                            if (node.getNodeType() == Node.ELEMENT_NODE) {
                               Element e = (Element) node;
                                NodeList nodeList = e.getElementsByTagName("nom");
                               Personne pp=new Personne();
                               pp.setLogin(nodeList.item(0).getChildNodes().item(0).getNodeValue());
                               nodeList = e.getElementsByTagName("pass");
                               pp.setPassfromxml(nodeList.item(0).getChildNodes().item(0).getNodeValue());
                               pers.add(pp);
     
     
     
     
                            }
                        }
                    } else {
                        System.exit(1);
                    }
                }
            } catch (Exception e) {
                System.out.println(e);
            }
            return pers;
        }
    Mais rien ne s'affiche, Qlq un à une solution à ce probleme. Je pense qu'avec glassfish (ou n'importe quel serveur web) le fichier xml est inaccessible avec la methode que j'ai mis. Merci de me venir une aide, c'est tres urgent.

Discussions similaires

  1. Recuperation du fichier xml
    Par Geulderack dans le forum XMLRAD
    Réponses: 10
    Dernier message: 28/02/2003, 11h06
  2. Insertion dans un fichier XML
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 4
    Dernier message: 27/02/2003, 17h16
  3. Lire un attribut dans un fichier XML en C++
    Par ti.k-nar dans le forum XML
    Réponses: 2
    Dernier message: 14/10/2002, 15h22
  4. [Kylix] Composant IBM pour fichiers XML
    Par Mister Nono dans le forum EDI
    Réponses: 1
    Dernier message: 29/09/2002, 20h28
  5. Balises HTML dans un fichier XML
    Par Bastet79 dans le forum XML/XSL et SOAP
    Réponses: 12
    Dernier message: 04/09/2002, 15h29

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