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 :

Problème de requête dans ma servlet


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Canada

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 67
    Points : 61
    Points
    61
    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>
    }
    Bassel EL-BIZRI

  2. #2
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    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 actif Avatar de janyoura
    Femme Profil pro
    étudiante ingénierie informatique
    Inscrit en
    Mars 2012
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

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

    Informations forums :
    Inscription : Mars 2012
    Messages : 365
    Points : 279
    Points
    279
    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