p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Nouveau Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    septembre 2010
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2010
    Messages : 64
    Points : 27
    Points
    27

    Par défaut Problème de requête dans ma servlet

    Bonjour , donc j'essaye de faire 2 requetes dans ma servlets qui doit afficher un livre soit par titre soit par mots clefs , mais on dirait que 1 toit n'est pas assez pour ces deux requetes ....il n'a que une requetes qui s'execute si j'efface l'autre ?
    quoi faire pour faire en sorte que ces deux requetes soit fonctionelle ?


    voici ma 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
    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
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
     
    package com.TP1.controleur;
     
    import javax.servlet.RequestDispatcher;
    import java.io.PrintWriter;
    import java.io.IOException;
    import java.util.List;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import javax.sql.DataSource;
    import javax.sql.*;
     
    import com.TP1.jdbc.Connexion;
    import com.TP1.entites.Livre;
    import com.TP1.jdbc.dao.LivresDAO;
     
    public class AfficherLivre extends HttpServlet 
    {
     
        @SuppressWarnings("CallToThreadDumpStack")
        protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException 
    { response.setContentType("text/html;charset=UTF-8");
              String  n1 = request.getParameter("isbn");   
               String n2 = request.getParameter("motscles");
     
               try 
              {
                 Class.forName("com.mysql.jdbc.Driver");
     
    	     Connexion.setUrl("jdbc:mysql://localhost/livres?user=root");
    	     Connection cnx = Connexion.getInstance();
     
    	     LivresDAO livDao = new LivresDAO(cnx);
                 //Livre livre; 
                 livDao.read(n1);
                //Methode des affichagess           
                List<Livre> listLivres = livDao.findLivre(n1); 
     
                 request.setAttribute("afficherlivres", listLivres);
     
                 RequestDispatcher r = this.getServletContext().getRequestDispatcher("/livre.jsp");
                 r.forward(request, response);             
     
           }
            catch(Exception e)
            {
                e.printStackTrace();
            }
     
              try
              {  
                 Class.forName("com.mysql.jdbc.Driver");
     
    	     Connexion.setUrl("jdbc:mysql://localhost/livres?user=root");
    	     Connection cnx = Connexion.getInstance();
     
    	     LivresDAO livDao = new LivresDAO(cnx);
                 //Livre livre; 
                 livDao.readMots(n2);
                //Methode des affichagess           
                List<Livre> listLivres = livDao.findMotsCles(n2); 
     
                 request.setAttribute("affichermots", listLivres);
     
                 RequestDispatcher r = this.getServletContext().getRequestDispatcher("/livre.jsp");
                 r.forward(request, response);             
     
           }
            catch(Exception e)
            {
                e.printStackTrace();
            }
     
                }
     
     
     
        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException 
        {
            processRequest(request, response);
        }
     
     
        @Override
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            processRequest(request, response);
        }
     
     
        @Override
        public String getServletInfo() {
            return "Short description";
        }// </editor-fold>
    }

  2. #2
    Membre Expert Avatar de fxrobin
    Homme Profil pro
    Formateur JAVA / XML
    Inscrit en
    novembre 2007
    Messages
    865
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Formateur JAVA / XML
    Secteur : Service public

    Informations forums :
    Inscription : novembre 2007
    Messages : 865
    Points : 1 318
    Points
    1 318

    Par défaut

    c'est parce que tu fais 2 forward.
    Tu ne peux faire qu'un seul forward.

    Solution :
    1 - Donc tu déclenches tes 2 requêtes.
    2 - Tes 2 requêtes pose un attribut dans la request ...
    3 - ensuite tu dois faire LE forward.
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  3. #3
    Membre confirmé Avatar de janyoura
    Femme Profil pro
    étudiante ingénierie informatique
    Inscrit en
    mars 2012
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante ingénierie informatique

    Informations forums :
    Inscription : mars 2012
    Messages : 366
    Points : 248
    Points
    248

    Par défaut

    Tu dois faire une structure conditionnelle selon l'attribut du request
    càd si recherche par titre tu exécutes la recherche par livre sinon tu exécuteras l'autre, et non pas les deux requêtes séparés avec chacun un forward
    "Scientists dream about doing great things. Engineers do them.”

    La réussite après tant de travail est un sentiment à vivre

    Si ton message est résolu, il y a un bouton qui est fait pour ça :
    Il se trouve tout en bas de la conversation !

    N'oublie pas que si ce message t'as aidé, tu peux voter pour lui en utilisant

Discussions similaires

  1. Réponses: 0
    Dernier message: 02/01/2009, 15h40
  2. Réponses: 4
    Dernier message: 16/12/2005, 16h25
  3. [Debutant]Problème Insertion Requête dans un StringGrid
    Par ghan77 dans le forum Web & réseau
    Réponses: 3
    Dernier message: 07/12/2005, 14h25
  4. problème de requête dans crystal reports
    Par rcs dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 05/08/2005, 16h45
  5. Réponses: 19
    Dernier message: 27/08/2003, 15h32

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