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 :

Afficher données d'un autre tableau d'une autre JSP


Sujet :

Servlets/JSP Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 106
    Points : 27
    Points
    27
    Par défaut Afficher données d'un autre tableau d'une autre JSP
    Bonjour,

    Je n'arrive pas à afficher des données, sur ma page principale, d'un tableau qui se trouve dans une autre page JSP.

    En fait, dans ma page principale, j'ai 6 tableaux. Le 1er tableau m'affiche parfaitement mes données. Les 5 autres tableaux proviennent d'autres page JSP.
    Pour cela, j'ai utilisé des <jsp:include> et même essayé <c:import url=""> mais y a rien qui s'affiche !

    Pour être clair avec vous, j'ai utilisé une organisation MVC dans mon application, et je ne suis pas sûr que ça soit la bonne ! je mets une capture d'écran.

    Nom : Organisation_Projet.png
Affichages : 1980
Taille : 19,3 Ko

    La question c'est : Est ce que pour simplifié, dois-je utiliser qu'un seul MODELE, qu'un seul DAO et qu'une seule SERVLET ?

    Merci.

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    non y a pas de raison, mais ta question est extrèmement vague, on n'a ny code ni structure, rien à se raccorcher.

    Pour tes includes qui "n'affichent rien" faudrait déjà voir le include, le code de la jsp en question et comment sont initialisé les éventuels dao dont ont besoin ces pages.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 106
    Points : 27
    Points
    27
    Par défaut Compléments
    Oui effectivement, j'avais prévu de mettre des captures d'écrans de mon code et du rendu de l'application.
    - JSP avec tableau principal :

    Nom : JSP_TableauPrincipal.png
Affichages : 1976
Taille : 125,9 Ko

    -Les includes dans ma page principale :

    Nom : Page_Principale_Include.png
Affichages : 1949
Taille : 36,6 Ko

    - Arborescence de mon application :

    Nom : Arborescence-Projet.png
Affichages : 1761
Taille : 54,3 Ko

    - Bean :

    Nom : Bean-Page-Principale.png
Affichages : 1774
Taille : 42,5 Ko

    - Mon modèle :

    Nom : Modele_Page-Principale.png
Affichages : 1956
Taille : 47,1 Ko

    - Servlet associée :

    Nom : Servlet_Page-Principale.png
Affichages : 1803
Taille : 65,2 Ko

    - Rendu application :

    Nom : Rendu_Application1.png
Affichages : 1823
Taille : 152,6 Ko

    J'ai pas les données qui s'affichent mais j'ai le même nombre de lignes que les résultats de 1er tableau !!! ??? :

    Nom : Rendu_Application2.png
Affichages : 1782
Taille : 150,8 Ko

    Mes 4 autres tableaux :

    Nom : Rendu_Application3.png
Affichages : 1738
Taille : 711,9 Ko

    Voilà !

    En fait, je suis en train de tester, qu'à la place du 1er include (BS1.jsp), je mets une autre <form ...> avec un tableau comme mon tableau principal en modifiant aussi dans la servlet (path.equal="") avec ma méthode implémenté dans mon DAO que j'utilise donc dans ma servlet. En gros, je suis la même logique que pour mon tableau principal, là où j'ai toutes mes données qui s'affichent. Je n'ai pas oublié non plus d'ajouter ce qui va bien dans le web.xml.
    Je vous tiens au courant ...
    Images attachées Images attachées  

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 106
    Points : 27
    Points
    27
    Par défaut Réponse aux commentaires
    J'ai re-créer un projet propre avec un seul modele, une seule servlet, un seul DAO. Une fois tout ceci finit, j'ai une erreur :
    "java.lang.ClassNotFoundException: com.mysql.jdbc.Driver"

    Je vais vérifier mon CLASSPATH ainsi que mon JAVA_HOME ce soir. Je ne sais pas si le problème peut venir de là ou pas ?!!!

    Sur ce nouveau projet, j'utilise Tomcat 8.5 comme nouveau serveur. J'ai une question :

    Est ce que le version de Tomcat a un lien avec la version du JDK et du JRE de JAVA ?
    Est ce qu'il faut que j'utilise par exemple JRE8 pour Tomcat 8.5 ou ca n'a rien à voir ?

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2018
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2018
    Messages : 80
    Points : 119
    Points
    119
    Par défaut
    Bonjour,

    Non ce genre d'erreur signifie que le driver n'a pas été trouvé dans le classpath (driver mysql en l'occurrence ici).
    Vérifié que toutes les librairies ont bien été rajoutées. (le driver mysql doit manquer).

    Lien pour le driver : https://dev.mysql.com/downloads/connector/j/5.1.html

    Bonne journée

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 106
    Points : 27
    Points
    27
    Par défaut Réponse aux commentaires
    Merci. Effectivement, je l'ai supprimé de mes librairies, j'ai téléchargé la dernière version de mysql-connector, et là je n'avais plus d'erreur et Tomcat a pu se relancer, il n'était plus en erreur. Je vous donne un tuyau aussi, il faut mettre 'jstl-1.2.jar' dans le dossier WEB-INF/lib.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 106
    Points : 27
    Points
    27
    Par défaut Réponse aux commentaires
    Une fois mon problème réglé avec Tomcat qui ne se met plus en erreur, maintenant lorque j'execute mon programme, dans la console j'ai ce message d'erreur. En fait, c'est encore au niveau de la connexion car c'est "preparedStatement" dans mon fichier daoImpl, et dans la Servlet, lorque je fais appel à cette méthode dans mon dao.
    Ci-dessous, des captures d'écran :

    Nom : Pb_Connexion-JavaNullPointerException.png
Affichages : 1740
Taille : 123,3 Ko

    Nom : Pb_Connexion-JavaNullPointerException_DaoImpl.png
Affichages : 1742
Taille : 104,4 Ko

    Nom : Pb_Connexion-JavaNullPointerException_Servlet.png
Affichages : 1737
Taille : 52,9 Ko


    Que puis-je faire ?

  8. #8
    Membre expérimenté Avatar de Cincinnatus
    Homme Profil pro
    Développeur d'applications métier
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur d'applications métier
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Points : 1 679
    Points
    1 679
    Par défaut
    Bonjour,

    Si la 'connection' est null, que renvoie ConnectionBDO.getConnection() ? Comment peut-elle renvoyer null ?
    Il faut voir le problème à sa source.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 106
    Points : 27
    Points
    27
    Par défaut
    Je mets mon fichier de connexion 'Cincinnatus'. Normalement ça devrait fonctionner puisque dans un autre projet j'utilisais exactement le même code et ça fonctionnait, mes données s'affichaient très bien. Ici, je ne sais pas ce qui se passe.

    Nom : Fichier-Connexion.png
Affichages : 1748
Taille : 76,8 Ko

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 106
    Points : 27
    Points
    27
    Par défaut Réponse aux commentaires
    En fait, je me suis rendu compte qu'il fallait mettre dans WEB-INF/lib , les librairies : mysql-connector, jstl ... et maintenant je n'ai plus d'erreur. Par contre, je n'ai pas de résultat, c'est à dire que mes données ne s'affichent pas et là encore je ne sais pas pourquoi. Je vais essayer d'investiguer dessus. Si quelqu'un à une idée ou veut des informations supplémentaires qu'il me le dise.
    Juste un petit détail. J'ai re-crée un projet et j'ai simplifié mon programme d'avant. Je n'ai plus qu'une servlet, qu'un modele, un DAO et un fichier JSP.

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 106
    Points : 27
    Points
    27
    Par défaut Réponse aux commentaires
    Je vous montre l'arboresecence simplifiée de mon nouveau programme puisque le 1er y a pleins de fichier qui se sont mis en erreur et je n'ai toujours pas compris pourquoi.
    Je mets aussi le résultat (ce que j'ai mis en gros dans mon fichier de connexion à la BDD) mais dans ma JSP y a rien qui s'affiche dans le navigateur.

    Nom : PG_Simplifié.png
Affichages : 1645
Taille : 6,5 Ko

    Nom : Arboresecence_Simplifiée.png
Affichages : 1839
Taille : 47,9 Ko

    Nom : Résultat_PG-Simplifiée.png
Affichages : 1630
Taille : 49,6 Ko

  12. #12
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2018
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2018
    Messages : 80
    Points : 119
    Points
    119
    Par défaut
    Bonjour,

    Pour commencer, regardez si votre ResultSet vous renvoi des données.
    Ensuite, regardez si vous setter bien vos beans, si les beans sont bien ajoutés dans les attributs de la session, puis essayez d'afficher le résultat dans une JSP.

    Bonne journée

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 106
    Points : 27
    Points
    27
    Par défaut Réponse aux commentaires
    Merci pour ta réponse 'millezime'. Comment dois-je faire pour savoir si mon ResultSet me renvoie des données ?
    Je mets le code ci-dessous de ma servlet comme ça me diras si c'est correct ou si j'ai mal fait qqch.

    Code Java : 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
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    package Servlets;
     
    import java.io.IOException;
    import java.io.OutputStream;
    import java.sql.SQLException;
    import java.util.List;
     
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
     
    import com.mysql.jdbc.Blob;
     
    import Bean.Brackets;
    import Dao.BracketDaoImpl;
    import Dao.iBracketDao;
    import Modeles.BracketModel;
     
    /**
     * Servlet implementation class ServletPrincipale
     */
    @WebServlet("/ServletPrincipale")
    public class ServletPrincipale extends HttpServlet {
     
    	private static final long serialVersionUID = 1L;
     
    	private iBracketDao metier;
     
    	public ServletPrincipale() {
    		super();
     
    	}
     
    	@Override
    	public void init() throws ServletException {
     
    		metier = new BracketDaoImpl();
    	}
     
    	protected void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
     
    		String path = request.getServletPath();
     
    		String motCleArea = request.getParameter("motCleArea");
    		String motClePosition = request.getParameter("motClePosition");
    		String motCleElecRoute = request.getParameter("motCleElecRoute");
    		String motCleBsolution1 = request.getParameter("motCleBsolution1");
    		String bsolution1refImg = request.getParameter("bsolution1refImg");
     
    		/* Tableau BS1 */
    		String refPartBS1 = request.getParameter("refPartBS1");
    		/* Tableau BS2 */
    		String refPartBS2 = request.getParameter("refPartBS2");
    		/* Tableau BS3 */
    		String refPartBS3 = request.getParameter("refPartBS3");
    		/* Tableau BS4 */
    		String refPartBS4 = request.getParameter("refPartBS4");
    		/* Tableau BS5 */
    		String refPartBS5 = request.getParameter("refPartBS5");
     
    		/* SESSIONS */
     
    		HttpSession session = request.getSession();
     
    		session.setAttribute("motCleArea", motCleArea);
    		session.setAttribute("motClePosition", motClePosition);
    		session.setAttribute("motCleElecRoute", motCleElecRoute);
    		session.setAttribute("motCleBsolution1", motCleBsolution1);
    		session.setAttribute("bsolution1refImg", bsolution1refImg);
    		session.setAttribute("refPartBS1", refPartBS1);
    		session.setAttribute("refPartBS2", refPartBS2);
    		session.setAttribute("refPartBS3", refPartBS3);
    		session.setAttribute("refPartBS4", refPartBS4);
    		session.setAttribute("refPartBS5", refPartBS5);
     
    		if (path.equals("/index")) {
    			// Au lancement de l'application : Redirection vers brackets.jsp --> HOME PAGE
     
    			request.getRequestDispatcher("brackets.jsp").forward(request, response);
     
    		} else if (path.equals("/afficherTout")) {
     
    			BracketModel Themodele = new BracketModel();
    			// Les données saisies sont pris en comptes par le modèle avec les
    			// Setters/Getters ...
    			Themodele.setMotCleArea(motCleArea);
    			Themodele.setMotCleBsolution1(motCleBsolution1);
    			Themodele.setMotCleElecRoute(motCleElecRoute);
    			Themodele.setMotClePosition(motClePosition);
    			Themodele.setMotCleRefPart(refPartBS1);
     
    			List<Brackets> Theliste = metier.bracketDao(motCleArea + "%", motClePosition + "%", motCleElecRoute + "%",
    					motCleBsolution1 + "%", bsolution1refImg + "%");
     
    			Themodele.setBrackets(Theliste);
     
    			request.setAttribute("modele", Themodele);
     
    			request.getRequestDispatcher("brackets.jsp").forward(request, response);
     
    		} else if (path.equals("/afficherBS1")) {
     
    			BracketModel modelebs1 = new BracketModel();
    			modelebs1.setRefPartBS1(refPartBS1);
     
    			List<Brackets> ThelisteBS1 = metier.affPartRef(refPartBS1);
    			modelebs1.setBrackets(ThelisteBS1);
    			request.setAttribute("modelebs1", modelebs1);
    			// J'ai pas mis VOLONTAIREMENT de : request.getRequestDispatcher..
     
    		} else if (path.equals("/afficherBS2")) {
     
    			BracketModel modelebs2 = new BracketModel();
    			modelebs2.setRefPartBS2(refPartBS2);
     
    			List<Brackets> ThelisteBS2 = metier.affPartRef(refPartBS2);
    			modelebs2.setBrackets(ThelisteBS2);
    			request.setAttribute("modelebs2", modelebs2);
     
    		} else if (path.equals("/afficherBS3")) {
     
    			BracketModel modelebs3 = new BracketModel();
    			modelebs3.setRefPartBS3(refPartBS3);
     
    			List<Brackets> ThelisteBS3 = metier.affPartRef(refPartBS3);
    			modelebs3.setBrackets(ThelisteBS3);
    			request.setAttribute("modelebs3", modelebs3);
     
    		} else if (path.equals("/afficherBS4")) {
     
    			BracketModel modelebs4 = new BracketModel();
    			modelebs4.setRefPartBS4(refPartBS4);
     
    			List<Brackets> ThelisteBS4 = metier.affPartRef(refPartBS4);
    			modelebs4.setBrackets(ThelisteBS4);
    			request.setAttribute("modelebs4", modelebs4);
     
    		} else if (path.equals("/afficherBS5")) {
     
    			BracketModel modelebs5 = new BracketModel();
    			modelebs5.setRefPartBS5(refPartBS5);
     
    			List<Brackets> ThelisteBS5 = metier.affPartRef(refPartBS5);
    			modelebs5.setBrackets(ThelisteBS5);
    			request.setAttribute("modelebs5", modelebs5);
     
    		} else if (path.equals("/image")) {
     
    			String uri = request.getRequestURI();
    			int index = uri.lastIndexOf("/");
    			String imageName = uri.substring(index + 1, uri.length());
     
    			try {
     
    				Blob imageEnBdds = (Blob) metier
    						.affImg(imageName); /* La méthode pr l'affichage des images est de type Blob */
     
    				if (imageEnBdds.length() >= 1) {
     
    					byte[] imageData = imageEnBdds.getBytes(1, (int) imageEnBdds.length());
    					/*
    					 * Ci-dessous, rajout pr test affichage colonne 2 pour img2 ----------> Ca
    					 * fontionne pas , même img1 n'est plus affiché
    					 */
    					/* byte[] imageData2 = imageEnBdds.getBytes(2, (int) imageEnBdds.length()); */
     
    					response.setContentType("image/png");
    					OutputStream o = response.getOutputStream();
    					o.write(imageData);
    					o.flush();
    					o.close();
     
    				}
    			} catch (SQLException e) {
     
    				e.printStackTrace();
    			}
    			System.out.println(imageName);
     
    		}
     
    	}
     
    	protected void doPost(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
     
    		String path = request.getServletPath();
     
    		if (path.equals("/Test2XML")) {
    			System.out.println("You are going to download the XML File");
     
    			request.getRequestDispatcher("brackets.jsp").forward(request, response);
     
    		}
     
    	}
     
    }

    Ci-dessous aussi le code de mon MODELE. (Qui récupère donc ce que j'ai dans ma JSP) :

    Code Java : 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
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    package Modeles;
     
    import java.util.ArrayList;
    import java.util.List;
     
    import Bean.Brackets;
     
    public class BracketModel {
     
    	// Le modele permet de stocker les données saisies
    	private String motCleArea;
    	private String motClePosition;
    	private String motCleElecRoute;
    	private String motCleBsolution1;
    	private String bsolution1refImg;
     
    	private String motCleRefPart;
    	private String bsolution1refPart;
     
    	private String total = motCleArea + motClePosition + motCleElecRoute + motCleBsolution1 + bsolution1refImg;
     
    	/* Tableau BS1 */
    	private String refPartBS1;
     
    	/* Tableau BS2 */
    	private String refPartBS2;
     
    	/* Tableau BS3 */
    	private String refPartBS3;
     
    	/* Tableau BS4 */
    	private String refPartBS4;
     
    	/* Tableau BS5 */
    	private String refPartBS5;
     
    	private List<Brackets> brackets = new ArrayList<Brackets>();
     
    	// GETTERS/SETTERS
     
    	public String getMotCleArea() {
    		return motCleArea;
    	}
     
    	public void setMotCleArea(String motCleArea) {
    		this.motCleArea = motCleArea;
    	}
     
    	public String getMotClePosition() {
    		return motClePosition;
    	}
     
    	public void setMotClePosition(String motClePosition) {
    		this.motClePosition = motClePosition;
    	}
     
    	public String getMotCleElecRoute() {
    		return motCleElecRoute;
    	}
     
    	public void setMotCleElecRoute(String motCleElecRoute) {
    		this.motCleElecRoute = motCleElecRoute;
    	}
     
    	public String getMotCleBsolution1() {
    		return motCleBsolution1;
    	}
     
    	public void setMotCleBsolution1(String motCleBsolution1) {
    		this.motCleBsolution1 = motCleBsolution1;
    	}
     
    	public String getBsolution1refImg() {
    		return bsolution1refImg;
    	}
     
    	public void setBsolution1refImg(String bsolution1refImg) {
    		this.bsolution1refImg = bsolution1refImg;
    	}
     
    	public String getMotCleRefPart() {
    		return motCleRefPart;
    	}
     
    	public void setMotCleRefPart(String motCleRefPart) {
    		this.motCleRefPart = motCleRefPart;
    	}
     
    	public String getBsolution1refPart() {
    		return bsolution1refPart;
    	}
     
    	public void setBsolution1refPart(String bsolution1refPart) {
    		this.bsolution1refPart = bsolution1refPart;
    	}
     
    	public String getTotal() {
    		return total;
    	}
     
    	public void setTotal(String total) {
    		this.total = total;
    	}
     
    	public String getRefPartBS1() {
    		return refPartBS1;
    	}
     
    	public void setRefPartBS1(String refPartBS1) {
    		this.refPartBS1 = refPartBS1;
    	}
     
    	public String getRefPartBS2() {
    		return refPartBS2;
    	}
     
    	public void setRefPartBS2(String refPartBS2) {
    		this.refPartBS2 = refPartBS2;
    	}
     
    	public String getRefPartBS3() {
    		return refPartBS3;
    	}
     
    	public void setRefPartBS3(String refPartBS3) {
    		this.refPartBS3 = refPartBS3;
    	}
     
    	public String getRefPartBS4() {
    		return refPartBS4;
    	}
     
    	public void setRefPartBS4(String refPartBS4) {
    		this.refPartBS4 = refPartBS4;
    	}
     
    	public String getRefPartBS5() {
    		return refPartBS5;
    	}
     
    	public void setRefPartBS5(String refPartBS5) {
    		this.refPartBS5 = refPartBS5;
    	}
     
    	public List<Brackets> getBrackets() {
    		return brackets;
    	}
     
    	public void setBrackets(List<Brackets> brackets) {
    		this.brackets = brackets;
    	}
     
    }

    Je mets aussi le code de mon Dao dans lequel j'implémente mes 3 méthodes. J'utilise bien mes setters (b.setArea(rs.getString("area")) :
    Code Java : 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
    106
    107
    108
    109
     
    public List<Brackets> bracketDao(String area, String position, String elecroute, String bsolution1, String refImg) {
     
    		List<Brackets> brack = new ArrayList<Brackets>();
     
    		Connection connection = ConnexionBDD.getConnection();
     
    		try {
     
    			PreparedStatement ps = (PreparedStatement) connection.prepareStatement(
    					"SELECT area,position,elecroute,bsolution1,img1.photoName as png1,img1.photo as img1, bsolution2, img2.photoName as png2,img2.photo as img2, bsolution3,img3.photoName as png3,img3.photo as img3, bsolution4, img4.photoName as png4,img4.photo as img4, bsolution5, img5.photoName as png5,img5.photo as img5"
    							+ " FROM brackets"
    							+ " LEFT OUTER JOIN brackets_images as img1 on brackets.bsolution1=img1.refImg"
    							+ " LEFT OUTER JOIN brackets_images as img2 on brackets.bsolution2=img2.refImg"
    							+ " LEFT OUTER JOIN brackets_images as img3 on brackets.bsolution3=img3.refImg"
    							+ " LEFT OUTER JOIN brackets_images as img4 on brackets.bsolution4=img4.refImg"
    							+ " LEFT OUTER JOIN brackets_images as img5 on brackets.bsolution5=img5.refImg"
    							+ " WHERE area LIKE ? AND position LIKE ? AND elecroute LIKE ? AND brackets.bsolution1 LIKE ? AND img1.refImg LIKE ?");
     
    			ps.setString(1, area);
    			ps.setString(2, position);
    			ps.setString(3, elecroute);
    			ps.setString(4, bsolution1);
    			ps.setString(5, refImg);
     
    			ResultSet rs = ps.executeQuery();
    			while (rs.next()) {
    				// ORM
    				Brackets b = new Brackets();
    				b.setArea(rs.getString("area"));
    				b.setPosition(rs.getString("position"));
    				b.setElecroute(rs.getString("elecroute"));
    				b.setBsolution1(rs.getString("bsolution1"));
    				b.setBsolution2(rs.getString("bsolution2"));
    				b.setBsolution3(rs.getString("bsolution3"));
    				b.setBsolution4(rs.getString("bsolution4"));
    				b.setBsolution5(rs.getString("bsolution5"));
     
    				brack.add(b);
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
     
    		return brack;
     
    	}
     
    	@Override
    	public java.sql.Blob affImg(String param) {
     
    		Connection connection = ConnexionBDD.getConnection();
    		Blob blob = null;
     
    		try {
    			PreparedStatement ps = (PreparedStatement) connection
    					.prepareStatement("SELECT photo FROM brackets_images WHERE refImg = ?");
     
    			ps.setString(1, param);
     
    			ResultSet rs = ps.executeQuery();
    			while (rs.next()) {
     
    				blob = (Blob) rs.getBlob("photo");
     
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
     
    		return blob;
    	}
     
    	@Override
    	public List<Brackets> affPartRef(String refPart) {
     
    		List<Brackets> listePartRef = new ArrayList<Brackets>();
     
    		Connection connection = ConnexionBDD.getConnection();
     
    		try {
     
    			PreparedStatement ps = (PreparedStatement) connection
    					.prepareStatement("SELECT * FROM parts_ref WHERE refPart = ? ");
     
    			ps.setString(1, refPart);
     
    			ResultSet rs = ps.executeQuery();
    			while (rs.next()) {
     
    				Brackets r = new Brackets();
     
    				r.setRefPart(rs.getString("refPart"));
    				r.setPartsRef1(rs.getString("partsRef1"));
    				r.setPartsRef2(rs.getString("partsRef2"));
    				r.setPartsRef3(rs.getString("partsRef3"));
    				r.setPartsRef4(rs.getString("partsRef4"));
    				r.setPartsRef5(rs.getString("partsRef5"));
    				r.setPartsRef6(rs.getString("partsRef6"));
    				r.setPartsRef7(rs.getString("partsRef7"));
     
    				listePartRef.add(r);
    			}
     
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		return listePartRef;
    	}

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 106
    Points : 27
    Points
    27
    Par défaut Réponse aux commentaires
    J'ai mis des System.out.println(""); afin de voir où mon programme bloque et je n'arrive pas à comprendre ! Car d'après moi il passe partout. Ci-dessous, mon code dans la servlet avec mes System.out.println("") :

    Code Java : 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
    else if (path.equals("/afficherTout")) {
     
    			BracketModel Themodele = new BracketModel();
    			// Les données saisies sont pris en comptes par le modèle avec les
    			// Setters/Getters ...
    			Themodele.setMotCleArea(motCleArea);
    			Themodele.setMotCleBsolution1(motCleBsolution1);
    			Themodele.setMotCleElecRoute(motCleElecRoute);
    			Themodele.setMotClePosition(motClePosition);
    			Themodele.setMotCleRefPart(refPartBS1);
     
    			List<Brackets> Theliste = metier.bracketDao(motCleArea + "%", motClePosition + "%", motCleElecRoute + "%",
    					motCleBsolution1 + "%", bsolution1refImg + "%");
     
    			System.out.println("Méthode appelée: bracketDao- ServletPrincipale !");
     
    			Themodele.setBrackets(Theliste);
     
    			request.setAttribute("modele", Themodele);
    			System.out.println("Modele appelé: setAttribute de 'afficherTout' - ServletPrincipale !");
    			System.out.println("Normalement tout devrait s'afficher - ServletPrincipale!!! ");
     
    			request.getRequestDispatcher("brackets.jsp").forward(request, response);

    Ci-dessous, le code de mon fichier DaoImpl :

    Code Java : 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
    public List<Brackets> bracketDao(String area, String position, String elecroute, String bsolution1, String refImg) {
     
    		List<Brackets> brack = new ArrayList<Brackets>();
     
    		Connection connection = ConnexionBDD.getConnection();
     
    		try {
     
    			PreparedStatement ps = (PreparedStatement) connection.prepareStatement(
    					"SELECT area,position,elecroute,bsolution1,img1.photoName as png1,img1.photo as img1, bsolution2, img2.photoName as png2,img2.photo as img2, bsolution3,img3.photoName as png3,img3.photo as img3, bsolution4, img4.photoName as png4,img4.photo as img4, bsolution5, img5.photoName as png5,img5.photo as img5"
    							+ " FROM brackets"
    							+ " LEFT OUTER JOIN brackets_images as img1 on brackets.bsolution1=img1.refImg"
    							+ " LEFT OUTER JOIN brackets_images as img2 on brackets.bsolution2=img2.refImg"
    							+ " LEFT OUTER JOIN brackets_images as img3 on brackets.bsolution3=img3.refImg"
    							+ " LEFT OUTER JOIN brackets_images as img4 on brackets.bsolution4=img4.refImg"
    							+ " LEFT OUTER JOIN brackets_images as img5 on brackets.bsolution5=img5.refImg"
    							+ " WHERE area LIKE ? AND position LIKE ? AND elecroute LIKE ? AND brackets.bsolution1 LIKE ? AND img1.refImg LIKE ?");
     
    			ps.setString(1, area);
    			ps.setString(2, position);
    			ps.setString(3, elecroute);
    			ps.setString(4, bsolution1);
    			ps.setString(5, refImg);
    			// System.out.println("Pas encore dans le ResultSet- DaoImpl");
    			ResultSet rs = ps.executeQuery();
    			System.out.println("Passé dans le ResultSet- DaoImpl !");
     
    			while (rs.next()) {
    				// ORM
    				Brackets b = new Brackets();
    				b.setArea(rs.getString("area"));
    				b.setPosition(rs.getString("position"));
    				b.setElecroute(rs.getString("elecroute"));
    				b.setBsolution1(rs.getString("bsolution1"));
    				b.setBsolution2(rs.getString("bsolution2"));
    				b.setBsolution3(rs.getString("bsolution3"));
    				b.setBsolution4(rs.getString("bsolution4"));
    				b.setBsolution5(rs.getString("bsolution5"));
     
    				brack.add(b);
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		System.out.println("Avant le return - DaoImpl !");
    		return brack;

    RESULTAT CONSOLE :

    Nom : Resultat_Console.png
Affichages : 1638
Taille : 40,0 Ko

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 106
    Points : 27
    Points
    27
    Par défaut Réponse aux commentaires
    Mon appli JEE est simple. J'ai un BEAN, un fichier de connexion à la BDD, un DAO, un MODELE, et une SERVLET. Y a quelques temps, les données de ma BDD s'affichaient correctement et je ne sais pas ce qui s'est passé, aujourd'hui plus rien s'affiche. J'ai beau lire, relire tous mes fichiers, j'arrive pas à déceler d'où peut provenir le problème.

    Si quelqu'un a une idée, je suis preneur.

    Je vais essayer de reproduire ce programme avec Netbeans, de tester la connexion à la BDD dans un 1er temps, et de vous tenir au courant.

  16. #16
    Membre expérimenté Avatar de Cincinnatus
    Homme Profil pro
    Développeur d'applications métier
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur d'applications métier
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Points : 1 679
    Points
    1 679
    Par défaut
    Un ajout utile serait, après le while (rs.next()), de libérer les ressources :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      rs.close();
      ps.close();
    
    Ensuite, il est toujours utile, à ce stade, de vérifier si on rentre effectivement dans cette boucle. Là on a le passage avant et après.

    Et la requête elle-même, retourne-t-elle les bons résultats en attaquant directement la base de données hors Java ?

  17. #17
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 106
    Points : 27
    Points
    27
    Par défaut Réponse aux commentaires
    Merci Cincinnatus, effectivement tu as raison. Je viens de rajouter : rs.close() et ps.close(). En fait, pour tester au lancement de mon application, j'ai mis un peu partout des System.out.println(""); et tout se déroule correctement. J'ai en effet, comme tu le suggère, tester dans MySQL une requête SQL avec les paramètres que je tape dans mes labels, et j'obtiens bien 2 résultats. Mon programme dit aussi qu'il y a 2 résultats, ci-dessous une capture d'écran de ce que j'obtiens dans la console. Je pense que le problème peut venir du modèle mais je n'en suis pas sûr et je ne vois pas pourquoi celui-ci ne fonctionnerait pas. En effet, dans ma Servlet ' ServletPrincipale ', on voit bien que la méthode appelé du Dao fonctionne puisque retourne bien les bons résultats mais la ligne après : "Themodele.setBrackets(Theliste)" + request.setAttribute(Theliste) est censé m'affiché les données dans ma JSP !

    Pièce jointe 409639
    Images attachées Images attachées  

  18. #18
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2018
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2018
    Messages : 80
    Points : 119
    Points
    119
    Par défaut
    Bonjour,

    Ceci provient alors de votre redirection. Vérifiez l'utilisation de votre request dispatcher pour rediriger une requête. (https://docs.oracle.com/javaee/6/api...a.lang.String))
    Vérifiez que les objets souhaités sont bien chargés en session (et que les beans soient serializable).
    Vérifiez vos JSPs et le JSTL associé par rapport aux objets en session.

    Bonne journée

  19. #19
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 106
    Points : 27
    Points
    27
    Par défaut Réponse aux commentaires
    Ok merci. J'ai mis mon BEAN en Serializable : public class Brackets implements Serializable mais y a rien qui a changé ! J'ai aussi enlevé l'objet HttpSession dans ma Servlet d'après ce que j'ai pu lire sur le net. Mes objets dans ma JSP correspondent bien aux objets dans mon modèle qui lui-même prends en charge les objets de mon BEAN.
    Je ne comprends pas pourquoi j'ai plus rien qui s'affiche car y a 2 semaine j'avais des résultats !!!

    J'ai essayé un code différent dans ma Servlet en faisant :

    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    RequestDispatcher req = request.getRequestDispatcher("brackets.jsp");
    System.out.println("SERVLET : JUSTE APRES LE RequestDispatcher....");
    req.forward(request, response);

    mais ça ne change rien.

  20. #20
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 106
    Points : 27
    Points
    27
    Par défaut Réponse aux commentaires
    Bon en fait, dans mon premier projet (qui n'est pas obtimisé), j'ai réussi à ré-afficher des données. En fait, dans mes filtres je m'étais pas la bonne valeur dans l'input 'elecroute'. J'ai donc testé dans MySQL pour savoir si j'avais des résultats et j'ai trouvé pourquoi. Donc c'est pour cela que mes données se ré-affichent.

    Par contre, j'ai toujours (comme au début de cette discussion), un problème pour l'affichage des autres tableaux. Je vais me répéter pour expliquer mon problème : En fait, c'est assez simple, je pense que la solution n'est pas très loin. --> Mon 1er tableaux s'affichent bien mais lorsque je mets une référence dans le second tableau, le 1er tableau s'efface ! Et je ne sais pas comment résoudre ce problème. Si quelqu'un a déjà rencontré ce type de problème, je suis preneur car ça fait des semaines que j'y suis dessus et que je tourne en rond

    Ci-dessous, une capture d'écran de ce que j'obtiens (j'ai mis des Systemp.out.println("") ) pour voir où passe mon programme et normalement mon 2nd tableau est censé s'afficher :

    Nom : Resultat-Console-10Septembre.png
Affichages : 1694
Taille : 113,3 Ko

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/03/2013, 08h51
  2. [Toutes versions] Recopier un tableau d'une autre feuille via une liste déroulante
    Par alex.du.09 dans le forum Excel
    Réponses: 3
    Dernier message: 18/05/2011, 17h10
  3. [XL-2007] récupération de données à partir d'un tableau sur une autre feuille
    Par cindy6311 dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 05/08/2009, 14h34
  4. Réponses: 2
    Dernier message: 04/07/2008, 14h24
  5. Réponses: 19
    Dernier message: 22/06/2007, 09h54

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