bonjour je suis debutant, je sui le cours de tahé our application d'affiche de base de donnée , mysql ke j'ai c'est phpadmin ,comme utilisateur root,sans mot de passe, voila mon strutconfig et, class java,
le probleme c'est sur la methode getDatasource non connue pour la classe DataSource;
struts-config.xml :
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 <?xml version="1.0" encoding="UTF-8"?> <struts-config> <data-sources> <!-- configuration for commons BasicDataSource --> <data-source type="org.apache.commons.dbcp.BasicDataSource" key="dbarticles"> <set-property property="driverClassName" value="com.mysql.jdbc.Driver" /> <set-property property="url" value="jdbc:mysql://localhost:3306/dbarticles" /> <set-property property="username" value="admarticles" /> <set-property property="password" value="mdparticles" /> <set-property property="maxActive" value="10" /> <set-property property="maxWait" value="5000" /> <set-property property="defaultAutoCommit" value="false" /> <set-property property="defaultReadOnly" value="false" /> </data-source> </data-sources> <action-mappings> <action path="/liste" type="istia.st.struts.articles.ListeArticlesAction"> <forward name="afficherListeArticles" path="/listarticles.jsp"/> <forward name="afficherErreurs" path="/erreurs.jsp"/> </action> </action-mappings> <message-resources parameter="istia.st.struts.articles.ApplicationResources" null="false" /> </struts-config>
classe java :
struts 1.3.8 que j'utiliseCode:
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 package istia.st.struts.articles; import java.io.IOException; import java.sql.Connection; import javax.sql.DataSource; import java.sql.ResultSet; import java.sql.Statement; import java.util.ArrayList; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionMessage; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; public class ListeArticlesAction extends Action { public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { // lit le contenu de la table articles d'une connexion // réalisée à l'init du contexte // on récupère a source de données dbarticles DataSource dataSource = this.getDataSource(request, "dbarticles"); if (dataSource == null) { // la source de données n'a pas pu être créée ActionErrors erreurs = new ActionErrors(); erreurs.add("dbarticles", new ActionMessage("erreur.dbarticles", "La source de données n'a pu être créée")); this.saveErrors(request, erreurs); return mapping.findForward("afficherErreurs"); } // ici la source de données existe - on l'exploite Connection connexion = null; Statement st = null; ResultSet rs = null; String requête = null; ArrayList alArticles = new ArrayList(); // on gère les erreurs try { // obtenir une connexion connexion = dataSource.getConnection(); // préparer la requête SQL requête = "select code, nom, prix, stockActuel, stockMinimum from articles order by nom"; // l'exécuter st = connexion.createStatement(); rs = st.executeQuery(requête); // exploiter les résultats while (rs.next()) { // enregistrer la ligne courante alArticles.add(new String[] { rs.getString("code"), rs.getString("nom"), rs.getString("prix"), rs.getString("stockactuel"), rs.getString("stockMinimum") }); // ligne suivante } //while // libérer les ressources rs.close(); st.close(); } catch (Exception ex) { // des erreurs se sont produites ActionErrors erreurs = new ActionErrors(); erreurs.add("dbarticles", new ActionMessage("erreur.dbarticles")); this.saveErrors(request, erreurs); return mapping.findForward("afficherErreurs"); } finally { // on libère la connexion try { connexion.close(); } catch (Exception ignored) { } } // c'est bon request.setAttribute("listArticles", alArticles); return mapping.findForward("afficherListeArticles"); } //execute } //classe