加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

dwr2.0开篇

发布时间:2020-12-15 22:11:30 所属栏目:百科 来源:网络整理
导读:1、下载dwr包。 2、新建web工程,在web.xml文件中加入servlet配置。 servlet servlet-namedwr-invoker/servlet-name servlet-classorg.directwebremoting.servlet.DwrServlet/servlet-class init-param param-namedebug/param-name param-valuetrue/param-va
1、下载dwr包。 2、新建web工程,在web.xml文件中加入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> </servlet> <servlet-mapping> <servlet-name>dwr-invoker</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet- 3、新建一个类。 package helloWorld; public class Service { public String sayHello(String yourName) { System.out.print("throw"); return "Hello World " + yourName; } } 4、在web.xml同目录下新建dwr.xml配置文件,配置如下:(也可以直接在demo中拷贝) <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd"> <dwr> <allow> <create creator="new" javascript="service"> <param name="class" value="helloWorld.Service"/> </create> </allow> </dwr> 5、发布工程,启动服务器,在浏览器中输入http://localhost:8080/工程名/dwr,测试dwr是否配置成功。需要在web.xml中配置debug为true. 6、新建jsp页面,导入dwr配置文件,如下: <script type="text/javascript" src='#'" /util.js"></script> <script type="text/javascript" src='#'" /engine.js"></script> <script type="text/javascript" src='#'" /interface/service.js"></script>//这个js是根据后台代码生成在内存当中的js,把java的代码暴露出来。 7、调用dwr的后台接口: <script type="text/javascript"> function firstDwr() { service.sayHello("LuLu",callBackHello);//service与dwr.xml配置的javascript属性名字一样。也是用来取名js的文件。 } function callBackHello(data) { alert(data); } </script> 8、配置多个dwr.xml配置。 在web.xml中,配置init参数,以config开头来配置dwr的名称。配置如下 <init-param> <param-name>config-fuck</param-name> <param-value>/WEB-INF/dwr/dwr-fuck.xml</param-value> </init-param> <init-param> <param-name>config-shit</param-name> <param-value>/WEB-INF/dwr/dwr-shit.xml</param-value> </init-param> 9、配置dwr.xml文件。 init这个初始化部分申明被用来创建远程beans,在init部分定义只是告诉DWR这些扩展的存在,给出了如何使用的信息。就像import里面一样。 allow部分定义了dwr能够创建和转换的类。 create元素如何结构 <create creator="" javascript="" scope=""> <param name="" value=""/> <exclude method=""/> <include method=""/> </create> creator属性:new,spring,script等。 javascript属性:在浏览器里给你创建的对象名。不要使用javascript保留字。 param元素表示每个bean从哪里生成。 include和exclude表示要暴露和隐藏的方法。 bean和对象转换器 为某一个类单独打开转换器 <convert converter="bean" match="your.full.package.BeanName"/> 可以转换所有的javabean <convert converter="bean" match="*"/> dwr整合。 让dwr使用spring创造器创建和远程调用beans,配置如下: <allow> ... <create creator="spring" javascript="#Fred"> <param name="beanName" value="#Shiela" /> </create> </allow> //spring,beanName是固定写法。 dwr中的javascript dwr根据dwr.xml生成和java代码类似的javascript代码。 不推荐回调函数放在第一个参数,可以把回调函数放在元数据对象里。 创造一个与java对象匹配的javascript对象。 var p = {name:"name1",age:20,birthdays:[new Date(),new Date("1 Jan 2008")]}; Remote.setPerson(p); engine.js功能 用来转换来至动态生成的接口的javascript函数调用的,所以只要用到dwr就要用到,每个页面都要引入。 使用选项:通过DWREngine.setX();设置全局属性。 DWREngine.setTimeout(1000); 批量执行,减少反应时间: DWREngine.beginBatch(); 方法1; 方法2; DWREngine.endBatch( {timeout:3000} ); 一般使用异步方法访问服务端。 DWREngine.setErrorHandler(function);改变错误处理方式。 DWREngine.setWarningHandler(function);改变警告处理方式。 DWREngine.setPreHook(function);//调用dwr方法之前。 DWREngine.setPostHook(function);//调用dwr方法后 util.js功能 包含一些工具函数。 DWRUtil.getValue[s]() DWRUtil.setValue[s]() DWRUtil.addRows() DWRUtil.removeAllRows() DWRUtil.addOptions() DWRUtil.removeAllOptions() dwr错误和异常处理 function eh(msg) { alert(msg); } DWREngine.setErrorHandler(eh); Remote.getData(function(data){alert(data)});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读