Bonjour,
ne réussissant toujours pas à implémenter ajax (via RichFace entre autre), j'essaie de tester DWR... mais je rencontre de nouveaux problèmes... voici mes fichiers:
web.xml:
dwr.xml :
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 <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <servlet> <servlet-name>dwr-invoker</servlet-name> <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dwr-invoker</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping> <session-config> <session-timeout> 30 </session-timeout> </session-config> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
index.jsp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.ltd.uk/dwr/dwr20.dtd"> <dwr> <allow> <create creator="new" javascript="classdwr"> <param name="class" value="packdwr.classdwr"/> </create> </allow> </dwr>
ma class java de test:
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 <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <title>DWR test</title> <%-- This files are created in the runtime --%> <script type='text/javascript' src='/stocksdemo/dwr/util.js'></script> <script type='text/javascript' src='/stocksdemo/dwr/interface/classdwr.js'></script> <script type='text/javascript' src='/stocksdemo/dwr/engine.js'></script> <script type="text/javascript"> function update() { var name = dwr.util.getValue("demoName"); alert(name); classdwr.sayHello(name, function(data) {dwr.util.setValue("demoReply", data);}); } </script> </head> <body onload="dwr.engine.setActiveReverseAjax(true);"> <p> Name: <input type="text" id="demoName"/> <input value="Send" type="button" onclick="update()"/> <br/> Reply: <span id="demoReply"></span> </p> </body> </html>
lorsque je test via cette adresse : http://localhost:8084/testdwr/index.jsp , j'obtient bien ma page mais rien ne se passe... (si je clique sur le bouton je n'ai même pas mon alert()...)
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 package packdwr; import java.util.Collection; import org.directwebremoting.WebContext; import org.directwebremoting.WebContextFactory; import org.directwebremoting.proxy.dwr.Util; public class classdwr { public classdwr() { } public String sayHello(String name) { return "Hello, " + name; } }
si j'essaie avec cette url : http://localhost:8084/testdwr/dwr/ j'obtient:
et tomcat retourne dans ses logs ceci :
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 Etat HTTP 500 - type Rapport d''exception message description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête. exception javax.servlet.ServletException: "Servlet.init()" pour la servlet dwr-invoker a généré une exception org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515) org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) java.lang.Thread.run(Thread.java:722) cause mère java.lang.NoClassDefFoundError: Could not initialize class org.directwebremoting.servlet.PlainPollHandler java.lang.Class.forName0(Native Method) java.lang.Class.forName(Class.java:186) org.directwebremoting.impl.ContainerUtil.class$(ContainerUtil.java:97) org.directwebremoting.impl.ContainerUtil.setupDefaults(ContainerUtil.java:150) org.directwebremoting.impl.ContainerUtil.setupDefaultContainer(ContainerUtil.java:125) org.directwebremoting.servlet.DwrServlet.init(DwrServlet.java:73) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515) org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) java.lang.Thread.run(Thread.java:722) note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/7.0.22.
je désespère un jour de pouvoir utiliser ajax .... si quelqu'un peut m'aider à comprendre j'en serais très heureux
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 févr. 12, 2012 5:34:43 PM org.apache.catalina.core.StandardWrapperValve invoke Grave: Exception lors de l'allocation pour la servlet dwr-invoker java.lang.NoClassDefFoundError: Could not initialize class org.directwebremoting.servlet.PlainPollHandler at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:186)![]()
Partager