关于DWR的运用
简单阐述下DWR框架的运用:
step1:从DWR官网下载最新版本的jar包(同时它还依赖commons-logging.jar,将此jar包放到WEB-INF/lib包中)放到WEB-INF/lib包中, 地址:http://directwebremoting.org/dwr/downloads/index.html; step2:在WEB-INF下配置dwr.xml,具体内容如下: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" "http://www.getahead.ltd.uk/dwr/dwr30.dtd"> <dwr> <!-- 说明: 1、一个allow元素对应一个配置,经DWR编译后生产一个JS文件供调用 2、create元素中,creater="new"表示每调用一次DWRUserAccess时,需要new一个这样的类; javascript="DWRUserAccess",表示提供给前台页面调用javascirpt文件是DWRUserAccess.js 3、<param name="class" value="test.DWRUserAccess"/> 表示具体的业务实现类 4、convert元素用于数据类型转换,即java类和javascript之间相互转换,因为和前台交换的是User对象, 因此需要对此使用bean转换,如果没有特殊类型转换则不需配置此元素
<allow> <create creator="new" javascript="DWRUserAccess"> <param name="class" value="test.DWRUserAccess"/> </create> <convert converter="bean" match="test.User"/> </allow> --> <allow>
<!-- 用户注册 --> <create creator="new" javascript="userManager"> <param name="class" value="com.zheng.service.UserService"/> <include method="saveUser"/> </create>
</allow> </dwr> step3:在WEB-INF下配置web.xml,在里面配置dwr,其他的内容不变
<!-- DWR配置 --> <servlet> <servlet-name>dwr-invoker</servlet-name> <servlet-class>uk.ltd.getahead.dwr.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-mapping> step4:在某个jsp页面运用dwr,内容如下: <script type="text/javascript" src="js/jquery-1.8.2.min.js" ></script> <script type='text/javascript' src='dwr/engine.js'></script> <script type='text/javascript' src='dwr/util.js'></script> <script type='text/javascript' src='dwr/interface/userManager.js'> </script> <script type="text/javascript"> function init(){ //这里的saveUser方法就是UserService类中的saveUser()方法,这样能直接调用 //前提条件是这个web工程已经部署到Web(如Tomcat)容器中了,且容器启动了 userManager.saveUser(); } </script> </head> <body onload="init();"> 测试DWR框架的应用 </body> step5:UserService的java代码如下: package com.zheng.service; public class UserService { public UserService(){System.out.println("Constructors");} public void saveUser(){ System.out.println("利用DWR调用业务逻辑方法!"); } } 4.将这个web工程部署到Tomcat容器后,启动容器,浏览器地址栏输入: http://localhost:8080/TestDwr/index.jsp按下回车,在myeclipse工具的控制台上显示有 "利用DWR调用业务逻辑方法!"这个内容的话,就表示页面dwr异步调用java中的方法成功了。 注意:dwr可以设置是否采用异步方式访问java代码,其代码为: dwr.engine.setAsync(false); //false为同步,true(默认)为异步 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |