首页 > 代码库 > DWR的使用
DWR的使用
DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架
(1)导入dwr.jar,commons-logging-1.2.jar
(2)在web.xml文件中添加
<!-- 配置DWR的核心Servlet --> <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> <!-- 下面两个可以不用配置 --> <init-param> <param-name>crossDomainSessionSecurity</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>allowScriptTagRemoting</param-name> <param-value>true</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>dwr-invoker</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping>
(3)在WEB-INF文件夹下建dwr.xml文件
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" "http://getahead.org/dwr/dwr30.dtd"> <dwr> <allow> <create creator="new" javascript="DwrTest"> <param name="class" value=http://www.mamicode.com/"cn.axin.dwr.DWRTest" />>
DWRTest类public class DWRTest { public int getData(int index){ Random rand = new Random(); return rand.nextInt(index); } }通过修改dwr.xml文件,可以将自定义的java类公开给javascript远程调用
在该配置文件中,creator属性是必须的,他指定使用哪种创造器。creator
属性有三种选择值:new,scripted和spring。最常用的是new,它代表使用java
类默认的无参构造方法创建类的实例对象;scripted值表示使用脚本语言来创建
java类对象;spring表示通过Spring框架Bean来创建java类对象
还可以在create元素下加入include标记,指明要公开给javascript的方法(4)在JSP页面进行使
<script type="text/javascript" src=http://www.mamicode.com/"dwr/engine.js"></script>>DwrTest.js和AjaxDate.js命名来源于你的dwr.xml的<create creator="new" javascript="DwrTest">
<create creator="new" javascript="AjaxDate">
javascript属性的配置名
注意啦:
我这<script type="text/javascript" src=http://www.mamicode.com/"dwr/engine.js"></script>
<script type="text/javascript" src=http://www.mamicode.com/"dwr/util.js"></script>
<script type="text/javascript" src=http://www.mamicode.com/"dwr/interface/DwrTest.js"></script>
<script type="text/javascript" src=http://www.mamicode.com/"dwr/interface/AjaxDate.js"></script>如果把这两行放在前面就没有用了,而DWR官网是这样子的
<script src=http://www.mamicode.com/‘/[YOUR-WEBAPP-CONTEXT]/dwr/interface/[YOUR-SCRIPT].js‘></script>
<script src=http://www.mamicode.com/‘/[YOUR-WEBAPP-CONTEXT]/dwr/engine.js‘></script>就这问题可害苦了我啊..........
可能在你那不是这样子的,只有测试了才懂地
DWR的使用