2. 写后台服务类。一个普通java类即可。HelloWorld.java
3. 在web.xml文件中配置dwr的servlet.如下:
<servlet> <servlet-name>dwr</servlet-name> <servlet-class>org.directwebremoting.servlet.DwrServlet </servlet-class> <init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>dwr</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping>
其中<url-pattern>/dwr/*</url-pattern>要这样写.
4. 在web-inf下创建一个xml文件。取名叫dwr.xml。该文件配置如下:
<dwr> <allow> <create creator=”new” javascript=” HelloWorld”> //红色部分为页面调用方法的名称 <param name=”class” value=”test. HelloWorld”/>//红色字体为服务类路径 </create> <convert converter=”bean” match=”po.User”></convert> //返回类型需要在此配置 <convert converter=”bean” match=”po.Dog”></convert> <allow> </dwr>
红色部分名称必须一致。dwr默认暴露Login.java中的所有public 方法
一个类只能写一个< create >标签,可写多个<convert>标签,基本数据类型不用配<convert>
5. jsp页面需要引进两个js,如下:
<script type='text/javascript' src='/Dwr/dwr/interface/ HelloWorld.js'> </script>定义的dwr.xml文件里的HelloWorld <script type='text/javascript' src='/Dwr/dwr/engine.js'></script>红色字体Dwr为项目名,以及在dwr.xml中javascript属性的值
6. 在js中直接调用服务类方法:
<script type="text/javascript"> function firstDwr(){ HelloWorld.sayHello("fendou",callBackHello); HelloWorld.person("10",cbfp);//调用不同的方法 HelloWorld.Dog("xiaoxiao",cbfd); } function callBackHello(data){alert(data);} function cbfp(data){alert(data.age)}; function cbfd(data){alert(data.name)}; </script>
红色方法为回调函数,data参数接收服务类方法返回的参数。