salut tout le monde,
je n'arrive pas a afficher la page jsp récupérant le resultat d'une selection de ma BD.
voila ma configuration du fichier struts-config.xml (juste ce qu'il faut et non pas tout le fichier:
Code xml : 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 <data-sources> <data-source type="org.apache.commons.dbcp.BasicDataSource"> <set-property property="driverClassName" value="com.mysql.jdbc.Driver" /> <set-property property="url" value="jdbc:mysql://localhost/dbStruts" /> <set-property property="username" value="strutsuser" /> <set-property property="password" value="strutsuser" /> <set-property property="maxActive" value="10" /> <set-property property="maxWait" value="1000" /> <set-property property="defaultAutoCommit" value="false" /> <set-property property="defaultReadOnly" value="false" /> <set-property property="validationQuery" value="SELECT COUNT(*) FROM user" /> </data-source> </data-sources> <action-mappings> <action path="/listes" type="expose.struts.action.ListUserAction"> <forward name="erreurs" path="/erreurs.do" /> <forward name="listes" path="/liste.do" /> </action> </action-mappings>
et voila l'action qui se connecte a la base de donnees :
et la page d'affichage listes.jsp :
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 public class ListUserAction extends Action { public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ActionErrors erreurs = new ActionErrors(); DataSource dataSource; Connection con = null; Statement stmt = null; ResultSet rs = null; String select = "SELECT mail,psw,sexe,ville FROM user ORDER BY mail"; ArrayList<User> Userlist = new ArrayList<User>(); try { dataSource = getDataSource(request); //dataSource = getDataSource(request,"nomDataSource"); con = dataSource.getConnection(); if (dataSource == null) { erreurs.add( "dbstruts", new ActionMessage("errors.dbStruts") ); return mapping.findForward("erreurs"); } stmt = con.createStatement(); rs = stmt.executeQuery(select); while (rs.next()) { Userlist.add( new User( rs.getString("mail"), rs.getString("psw"), rs.getString("sexe"), rs.getString("ville")) ); } } catch (SQLException sqle) { getServlet().log("Connection.process", sqle); } finally { rs.close(); stmt.close(); con.close(); } request.setAttribute("userlist", Userlist); return mapping.findForward("listes"); } }
a partir d 'un lien de la page index.jsp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <table> <logic:iterate id="userRow" name="userlist"> <tr> <logic:iterate id="userCol" name="userRow"> <td ><bean:write name="userCol"></td> </logic:iterate> </tr> </logic:iterate> </table>
quand je clique sur le lien j'obtiens cette erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <html:link action="/listes.do">Afficher la liste des utilisateurs</html:link>
et quand j'enleve la <data-sources>...javax.servlet.ServletException: "Servlet.init()" pour la servlet action a g�n�r� une exception
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
java.lang.Thread.run(Unknown Source)
cause m�re
java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
java.lang.Class.getConstructor0(Unknown Source)
java.lang.Class.newInstance0(Unknown Source)
java.lang.Class.newInstance(Unknown Source)
org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:145)
org.apache.struts.action.ActionServlet.initModuleDataSources(ActionServlet.java:775)
org.apache.struts.action.ActionServlet.init(ActionServlet.java:331)
javax.servlet.GenericServlet.init(GenericServlet.java:212)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
java.lang.Thread.run(Unknown Source)
cause m�re
java.lang.ClassNotFoundException: org.apache.commons.pool.impl.GenericObjectPool
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
java.lang.ClassLoader.loadClassInternal(Unknown Source)
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
java.lang.Class.getConstructor0(Unknown Source)
java.lang.Class.newInstance0(Unknown Source)
java.lang.Class.newInstance(Unknown Source)
org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:145)
org.apache.struts.action.ActionServlet.initModuleDataSources(ActionServlet.java:775)
org.apache.struts.action.ActionServlet.init(ActionServlet.java:331)
javax.servlet.GenericServlet.init(GenericServlet.java:212)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
java.lang.Thread.run(Unknown Source)
j'obtiens ce message
je pense que l'erreur vienne du <data-sources>,javax.servlet.ServletException: java.lang.NullPointerException
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:516)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:423)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
cause m�re
java.lang.NullPointerException
expose.struts.action.ListUserAction.execute(ListUserAction.java:61)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
est-ce qu'il manque des fichiers .jar à ajouter dans le dossier /WEB-INF/lib ?
et lesquels ?
Voici les jars dans mon dossier lib :
sinon comment faire pour me connecter directement a une base de donnees Mysql via struts 1.2.4 ? ( peut etre que j'ai oublié quelque chose )commons-beanutils.jar
commons-collections.jar
commons-digester.jar
commons-logging.jar
struts.jar
commons-validator.jar
jakarta-oro.jar
mysql-connector-java-5.1.6-bin.jar
quelqu'un peut m'aider SVP ?
Partager