Hey,
ich versuche DWR in ein Spring MVC WebProjekt einzubauen. Dabei möchte ich jetzt noch gar keine bestimmten Funktionen implementieren, sondern einfach das Ganze einmal zum Laufen bringen.
So weit so schlecht.
1) Ich habe sowohl dwr.jar als auch commons-logging.jar im lib Verzeichnis.
2) Die Testseite sieht so aus:
Das funktioniert soweit, also ich kann zumindest auf die dwr-Bibliotheken zugreifen.
Jetzt zum Problem:
Ich kann keine Java-Methoden im Script aufrufen.
Es fängt ja schon damit an, dass ich nicht weis wie ich das ganze konfigurieren soll.
Mittels dwr.xml scheint angeblich veraltet zu sein, also habe ich es zuerst mit annotations versucht(benutze ich sehr gerne bei @MVC Controllern), bin aber gescheitert.
Danach habe ich es mit dem Spring namespace versucht, aber auch noch keinen Erfolg gehabt.
Hab mir schon die Documentation durchgelesen und tagelang gegoogelt. Ich werd einfach nicht schlau daraus.
Letzter Stand meines ApplicationContext ist:
[XML]<dwr:controller id="dwrController" debug="true" />
<dwr:url-mapping />
<dwr:configuration/>
<dwr:annotation-config id="ac" />
<bean id="Demo" class="com.ah.controller.Demo">
<dwr:remote javascript="Demo">
<dwr:include method="sayHello" />
</dwr:remote>
</bean>[/XML]
Im deployment-descriptor ist das dispatcher-servlet auch auf /dwr/* gemappt!
Der ServorLog zeigt mir auch einen Error bzw. auch ein PopUp Error im Browser (CSRF)
[XML]INFO: WEB0671: Loading application [DWR] at [/DWR]
INFO: DWR wurde erfolgreich bereitgestellt in 4.015 Millisekunden.
INFO: 4168 [http-thread-pool-8080(2)] ERROR org.directwebremoting.impl.DefaultCreatorManager -Class not found: 'dwrService'
INFO: 4168 [http-thread-pool-8080(2)] WARN org.directwebremoting.impl.DefaultCreatorManager -Names of known classes are: __Data Demo __System
INFO: 4169 [http-thread-pool-8080(2)] WARN org.directwebremoting.servlet.ExceptionHandler -Error: java.lang.SecurityException: Class not found
INFO: 5247 [http-thread-pool-8080(3)] ERROR org.directwebremoting.dwrp.BaseDwrpHandler -A request has been denied as a potential CSRF attack.
INFO: 5247 [http-thread-pool-8080(3)] WARN org.directwebremoting.dwrp.BaseCallHandler -Exception while processing batch
java.lang.SecurityException: CSRF Security Error[/XML]
Ich seh die Fehler, finde aber keine Lösung.
Vielleicht könnte jemand mit Erfahrung in Spring mit DWR mir einen kleinen Anstoß in die richtige Richtung geben.
Danke schonmal,
Tarantoga
ich versuche DWR in ein Spring MVC WebProjekt einzubauen. Dabei möchte ich jetzt noch gar keine bestimmten Funktionen implementieren, sondern einfach das Ganze einmal zum Laufen bringen.
So weit so schlecht.
1) Ich habe sowohl dwr.jar als auch commons-logging.jar im lib Verzeichnis.
2) Die Testseite sieht so aus:
HTML:
<script type="text/javascript" src="/DWR/dwr/engine.js"></script>
<script type="text/javascript" src="/DWR/dwr/util.js"></script>
<script type="text/javascript" src="/DWR/dwr/interface/dwrService.js"></script>
<script type="text/javascript">
function getStuff() {
dwr.util.setValue("test", "Hallo");
}
</script>
<input type="button" onclick="getStuff()" value="Button">
<div id="test">
</div>
Das funktioniert soweit, also ich kann zumindest auf die dwr-Bibliotheken zugreifen.
Jetzt zum Problem:
Ich kann keine Java-Methoden im Script aufrufen.
Es fängt ja schon damit an, dass ich nicht weis wie ich das ganze konfigurieren soll.
Mittels dwr.xml scheint angeblich veraltet zu sein, also habe ich es zuerst mit annotations versucht(benutze ich sehr gerne bei @MVC Controllern), bin aber gescheitert.
Danach habe ich es mit dem Spring namespace versucht, aber auch noch keinen Erfolg gehabt.
Hab mir schon die Documentation durchgelesen und tagelang gegoogelt. Ich werd einfach nicht schlau daraus.
Letzter Stand meines ApplicationContext ist:
[XML]<dwr:controller id="dwrController" debug="true" />
<dwr:url-mapping />
<dwr:configuration/>
<dwr:annotation-config id="ac" />
<bean id="Demo" class="com.ah.controller.Demo">
<dwr:remote javascript="Demo">
<dwr:include method="sayHello" />
</dwr:remote>
</bean>[/XML]
Im deployment-descriptor ist das dispatcher-servlet auch auf /dwr/* gemappt!
Der ServorLog zeigt mir auch einen Error bzw. auch ein PopUp Error im Browser (CSRF)
[XML]INFO: WEB0671: Loading application [DWR] at [/DWR]
INFO: DWR wurde erfolgreich bereitgestellt in 4.015 Millisekunden.
INFO: 4168 [http-thread-pool-8080(2)] ERROR org.directwebremoting.impl.DefaultCreatorManager -Class not found: 'dwrService'
INFO: 4168 [http-thread-pool-8080(2)] WARN org.directwebremoting.impl.DefaultCreatorManager -Names of known classes are: __Data Demo __System
INFO: 4169 [http-thread-pool-8080(2)] WARN org.directwebremoting.servlet.ExceptionHandler -Error: java.lang.SecurityException: Class not found
INFO: 5247 [http-thread-pool-8080(3)] ERROR org.directwebremoting.dwrp.BaseDwrpHandler -A request has been denied as a potential CSRF attack.
INFO: 5247 [http-thread-pool-8080(3)] WARN org.directwebremoting.dwrp.BaseCallHandler -Exception while processing batch
java.lang.SecurityException: CSRF Security Error[/XML]
Ich seh die Fehler, finde aber keine Lösung.
Vielleicht könnte jemand mit Erfahrung in Spring mit DWR mir einen kleinen Anstoß in die richtige Richtung geben.
Danke schonmal,
Tarantoga