Integrating DWR3 and Spring3

Exceptions while integrating DWR3 and Spring3.X annotation based MVC:

Following are the solutions for the Exception commonly occur while integration:

  1. “org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Cannot locate BeanDefinitionParser for element [annotation-scan]”.


  • Don’t use DWR with version number  DWR 3.0M1(available in Maven Repository)
  • Use DWR0-RC1-116 or later version. You can down load the latest version from
   <id> -public</id>
   <name>DWR repository</name>
 2.If you are trying to keep DWR and Spring Configuration in the same xml file there may be a chance to occur duplicate name found Exception. 
org.springframework.beans.factory.BeanCreationException:Error creating bean with name ‘DwrAnnotationURLMapper’: Initialization of bean failed;nested exception is org.springframework.beans.factory.BeanCreationException:Error creating bean with name ‘dwrController’: Invocation of init method failed;nested exception is java.lang.IllegalArgumentException:java.lang.IllegalArgumentException:Duplicate name found
Solution: keep separate dwr.xml and don’t import into spring-config.xml file instead configure in web.xml as shown below

<param-value>classpath: dwr.xml</param-value>
  1. No adapter for handler [directwebremoting.spring.DwrController@1b3f577]: Does your handler implement a supported interface like Controller?

Solution: keep the following line of code in dwr.xml file

<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" />

This is because mvc: annotation-driven element doesn’t declare a SimpleControllerHandlerAdapter

  1. If you are using Tomcat7 and DWR.0-RC1-116.jar file then you will get

“CSRF Security Error”: java.lang.SecurityException: CSRF Security Error

  • One fix is to make the default Tomcat 7 tomcat/conf/context.xml (or your application’s context XML) put the useHTTPOnly on the Context element, like so:
    <Context useHttpOnly=”false”>
  • You can also fix this issue by using the latest DWR build