Précédent   Forum du club des développeurs et IT Pro > Java > Développement Web en Java > Servlets/JSP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 23/12/2012, 08h55   #1
napi15
Candidat au titre de Membre du Club
 
Homme El-Bizri Bassel
Étudiant
Inscription : septembre 2010
Messages : 43
Détails du profil
Informations personnelles :
Nom : Homme El-Bizri Bassel
Âge : 22
Localisation : Canada

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

Informations forums :
Inscription : septembre 2010
Messages : 43
Points : 10
Points : 10
Envoyer un message via MSN à napi15
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 :
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>
}
napi15 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2012, 11h09   #2
fxrobin
Membre Expert
 
Avatar de fxrobin
 
Homme
Formateur JAVA / XML
Inscription : novembre 2007
Messages : 849
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 : 849
Points : 1 277
Points : 1 277
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 ...
fxrobin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2012, 19h25   #3
janyoura
Membre confirmé
 
Avatar de janyoura
 
Femme
étudiante ingénierie informatique
Inscription : mars 2012
Messages : 294
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : Tunisie

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

Informations forums :
Inscription : mars 2012
Messages : 294
Points : 214
Points : 214
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
janyoura est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 00h27.


 
 
 
 
Partenaires

Hébergement Web