这里以dwr2.0为例:
1.下载dwr.jar(http://directwebremoting.org/dwr/download.html),并配置到工程目录WEB-INF/lib下。

2.web.xml中部署dwr
<!--配置DWR拦截器-->
<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>

3.web.xml的同级目录(一般指WEB-INF目录)配置dwr.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd">    
<dwr>        
<allow>        
    <create creator="spring" javascript="DWRUser">        
        <param name="beanName" value="DWRUser"/>        
    </create>        
</allow>        
</dwr>    

4.Java类POJO
package com.note.dwr;            
import com.note.bussies.service.IUserService;            
public class User {            
private IUserService ius;            
            
public IUserService getIus() {            
    return ius;            
}            
public void setIus(IUserService ius) {            
    this.ius = ius;            
}            
public User(){            
                
}            
public boolean isExist(String username) {            
            Users user = this.ius.getUserByName(username);            
            return (null == user) ? false : true;            
}            
}

5.spring中配置applicationContext.xml
......            
<bean id="DWRUser" class="com.note.dwr.User">        
    <property name="ius">        
     <ref bean="UserService" />        
    </property>        
</bean>        
......        

6.jsp页面调用
<script type='text/javascript' src='<%=request.getContextPath()%>/dwr/interface/DWRUser.js'></script>        
<script type='text/javascript' src='<%=request.getContextPath()%>/dwr/engine.js'></script>        
<script type='text/javascript' src='<%=request.getContextPath()%>/dwr/util.js'></script>        
<script type='text/javascript'>        
function regUserChked(){            
    var username=$("username").value;            
    DWRUser.isExist(username,showData);//showData回调函数            
}            
function showData(data){            
         if(data){            
                    DWRUtil.setValue("userMsg","该用户名已经被注册,请更换您的用户名!");            
         }else{            
                    DWRUtil.setValue("userMsg","恭喜您,该用户名尚未被注册!");                        
         }            
}            
</script>        
input type="text" name="username" value="" onblur="regUserChked()" /><div id="userMsg"></div>    

来源:http://danwind.javaeye.com/blog/524527
      http://www.javaeye.com/topic/40313(详细讲解)
      http://www.javaeye.com/topic/209008(dwr+spring的另一种配置)