1.入门推荐参考官方文档,虽然是英文,但是quick start部分还是挺好的;
2.
a、导入DWR的包,需要其他的依赖包,commons-logging
b、设置web.xml在这个xml中加入相应DwrListener和DwrServlet
<listener>
<listener-class>org.directwebremoting.servlet.DwrListener</listener-class>
</listener>
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<!-- This should NEVER be present in live -->
<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>
c、创建相应的dwr.xml在WEB-INF中,并且在这个文件中加入相应的java对象的创建信息
<allow>
<create creator="new">
<param name="class" value="org.konghao.service.HelloDwr"/>
</create>
</allow>
其中create表示将一个java的对象公布为一个javascript的对象,param中的value设置要公布的java类,只要写了create之后这个类就会自动创建一个HelloDwr.js的文件
d、在页面中引入相应的dwr
首先需要引入webContext/dwr/engine.js
其次引入在dwr.xml中创建的类webContext/dwr/interface/HelloDwr.js
e、引入了这个类之后,就可以通过HelloDwr.xxx来完成对java代码的引入,引用时最后一个参数是回调函数,通过回调函数可以获取这个类的返回值
其它使用注意事项:
a、上线的时候一定关闭debug模式,在平时的时候可以访问contextPath/dwr来进行相应的调试;
b、相应的转换器的配置:
<convert converter="bean" match="org.konghao.service.User"/>
c、include、exclude的使用:两者只能够使用一个,默认是全部方法都可以访问,使用include之后就仅仅是include的方法可以访问;
<create creator="new" javascript="UserService">
<param name="class" value="org.konghao.service.UserService"/>
<include method="list"/>
</create>