dwr使用方法

合集下载

dwr 调用方式

dwr 调用方式

DWR调用方式1. 什么是DWRDWR(Direct Web Remoting)是一个开源的Java框架,用于简化在Web应用程序中使用Ajax技术。

它提供了一种简单的方式来将Java代码暴露给JavaScript,并使得在客户端和服务器之间进行远程通信变得更加容易。

DWR允许开发人员通过直接调用服务端的Java方法来处理客户端的请求,而无需编写大量的JavaScript代码来处理网络通信。

这使得开发人员可以更专注于业务逻辑,而无需过多关注底层的网络细节。

2. DWR调用方式DWR提供了多种方式来进行远程调用,包括:2.1. 代理方式(Proxy)代理方式是最常见和推荐的一种DWR调用方式。

通过代理对象,我们可以直接调用服务端的Java方法,并将结果返回给客户端。

在客户端,我们需要首先创建一个代理对象,该对象负责与服务端进行通信。

我们可以使用dwr.engine命名空间下的Proxy对象来创建代理对象,并指定要调用的Java类和方法。

var proxy = new dwr.engine.Proxy();proxy.setRemoteClass(MyService);proxy.setRemoteMethod('myMethod');在上述代码中,MyService是服务端中定义的Java类,myMethod是该类中的一个方法。

然后,我们可以使用代理对象来调用服务端的方法,并处理返回的结果。

proxy.myMethod(param1, param2, {callback: function(result) {// 处理返回结果},errorHandler: function(message) {// 处理错误信息}});在上述代码中,param1和param2是传递给服务端方法的参数。

callback函数用于处理返回结果,而errorHandler函数则用于处理错误信息。

2.2. 反向Ajax方式(Reverse Ajax)反向Ajax方式是一种特殊的DWR调用方式,它允许服务端主动推送数据给客户端。

java中DWR的使用

java中DWR的使用

java中DWR的使⽤上次分享了关于frameset框架右下⾓弹出消息。

连接在这⾥那么我们项⽬开发中不消息的内容应该都是从数据库的消息表去获取的。

⽽不是说这样写死的。

那么在java中该怎么做?最后我选择了dwr来获取并展⽰消息。

下⾯是例⼦下载地址:贴出dwr.xml代码:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPEdwrPUBLIC"-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN""/dwr/dwr30.dtd"><dwr><allow><create creator="new" javascript="Msgdeal"><param name="class" value="com.msg.MsgDeal"/></create></allow></dwr>⾄于dwr我也是第⼀次使⽤~~ 所以只是分享⾃⼰使⽤的时候遇到的问题在上⾯的dwr.xml中我们配置了要调⽤的服务.下⾯贴出在jsp中如何引⽤:function Test1(){var _data = "";dwr.engine.setAsync(false);//设置同步Msgdeal.getMsg(1,function(data){_data = data;});//调⽤java中MsgDeal类的消息处理⽅法dwr.engine.setAsync(true); //设置到初始状态document.getElementById("serverResponse").value= _data; //设置获取的值if(_data > 0){//有新的消息//是消息图表闪动}else{//没有新消息}}那么我么在js中引⽤的 Msgdeal.getMsg(1,function(data){_data = data;});//调⽤java中MsgDeal类的消息处理⽅法这⾥的 Msgdeal就是我们在dwr.xml中配置的<create creator="new" javascript="Msgdeal">⾄于详细的使⽤⽅式⼤家下载下来⽰例就能看明⽩。

DWR学习

DWR学习

DWR的使用经验:1.. 需要jdom.jar和bsf.jar,否则无法跟spring整合.2.. dwr生成的javascript函数会自动加一个回调函数的参数,如原来的函数是checkExist(String name),那么生成的javascript函数是checkExist(callbackFunc,String name).3.. 注意回调函数只能有一个参数,就是服务器的返回值,如function(messFromServer),这里messFromServer是该操作在服务器上的返回值.4.. util.js里面有很多有用的方法,最好熟悉一下.5.. convert并不是必须的,只有你的函数需要传递非基本数据类型的数据时需要此项.我需要增强的,dom操作,javascriptDWR collection converter 使用摘要<convert converter="collection" match="java.util.Collection"/>但是不知道怎么用,从 Java Object --> Javascript Object 问题不大,有现成的例子可供参考:),就是 Java function 返回一个Collection,看了一下返回值在 javascript 中是的形式是一个object Array然后在 javascript 取出每一个 Object的 property (eg. object.id , ....)下面是一个应用实例---------------------DWR.XML------------------------------<dwr><allow><convert converter="bean" match="dwr.sample.Apartment"/><create creator="new" javascript="ApartmentDAO"class="dwr.sample.ApartmentDAO"><include method="findApartments"/><include method="countApartments"/><include method="addApartment"/><include method="addApartments"/><include method="addApartments2"/></create><create creator="spring" javascript="ApartmentDAO" ></create></allow><signatures><![CDATA[import java.util.*;import dwr.sample.*;ApartmentDAO.addApartments(List<Apartment>);ApartmentDAO.addApartments2(Map<String,Apartment>);]]></signatures></dwr>如果传如 java 的代码的参数是一个 Collection ,则要稍微处理以下,先照上面黑体字的声明以下传入的Collection的内部包含的类的确切类型,以便 Java 代码作出判断;如果传入的参数是一个 List,则在 Javascript 中把这些对象放在一个Array中就可以了,如果传入的参数是一个Map,原来以为是一个二维的 Array就行了,但是试过之后发现不行,看了一下例子,原来要使用这种形式: var depts={ "dept1":new department("2", "200"),"dept2":new department("3", "300") };这样传进去之后 Java 就会根据这些数据构建一个Map,。

dwr调用java方法

dwr调用java方法

dwr调用java方法
"DWR调用Java方法,简化前端与后端交互的利器"
在现代的Web开发中,前端与后端交互是一个非常重要的环节。

而Direct Web Remoting(DWR)作为一种简化前端与后端交互的工具,为开发人员提供了一种便捷的方式来调用Java方法。

通过DWR,我们可以在前端直接调用后端的Java方法,无需手动编写AJAX请求,大大简化了开发流程。

DWR的使用非常简单,只需要在后端的Java方法上添加注解,
然后在前端通过JavaScript代码即可实现调用。

这种方式不仅减少
了前端与后端的耦合度,还提高了开发效率。

另外,DWR还支持对Java对象的直接传输,无需手动转换成JSON格式,极大地简化了
数据传输的过程。

除此之外,DWR还提供了一些高级特性,比如对异常的处理、
对会话的管理等,使得前端与后端的交互更加稳定可靠。

同时,DWR
也提供了一些安全机制,确保前端只能调用到被允许的后端方法,
有效防止了潜在的安全风险。

总的来说,DWR作为一种简化前后端交互的利器,极大地提高了Web开发的效率和可靠性。

它的出现使得前端与后端的交互更加简单、便捷,为Web开发人员带来了极大的便利。

希望更多的开发者能够了解并使用DWR,从而更好地开发出高质量的Web应用。

dwr入门操作手册

dwr入门操作手册

Dwr入门操作手册DWR配置和使用设置DWR的使用是简单的:将DWR的jar文件拷入Web应用的WEB-INF/lib目录中,在web.xml中增加一个servlet声明,并创建DWR的配置文件。

DWR的分发中需要使用一个单独的jar文件。

你必须将DWR servlet加到应用的WEB-INF/web.xml 中布署描述段中去。

<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>一个可选的步骤是设置DWR为调试模式—象上面的例子那样—在servlet描述段中将debug参数设为true。

当DWR在调试模式时,你可以从HTMl网页中看到所有的可访问的Java对象。

包含了可用对象列表的网页会出现在/WEBAPP/dwr这个url上,它显示了对象的公共方法。

所列方法可以从页面中调用,允许你,第一次,运行服务器上的对象的方法。

下图显示了调试页的样子:调试页现在你必须让DWR知道通过XMLHttpRequest对象,什么对象将会接收请求。

DWR-2型低温柔度测试仪操作规程

DWR-2型低温柔度测试仪操作规程

DWR-2型低温柔度测试仪操作规程
1、将电源插头插入220V交流电源插座内,接通电源,打开控制器电源开关。

2、按标准准备好测试样品,将样品放置于冷冻液槽料架上。

3、盖上冰柜上盖,使较软的样品冷冻至较硬的手感(冰柜的温度应调至比测试温度低5℃)。

4、调节静止测试棒间距,间距大小L按公式L=D+1Q+2计算(D为移动测试棒直径、Q为卷材厚度)。

5、根据卷材种类和规格,换上相应直径的移动测试棒。

6、将冷至合适温度的样品放置于测试机的移动测试棒和静止测试棒之间。

7、将整个测试机放入冷冻液内,盖上冰柜上盖,将待测的参数输入控制器内。

8、确认(手动/自动)转换开关拨至自动一方,按“运行”键移动测试棒将进入待测状态。

9、当温度已至,控制器输出触点断开,冰柜停止制冷,测试机启动测试。

10、测试完成,控制器报警,试验人员打开冰柜上盖,目测测试结果,并拿下已测样品。

11、合上冰柜上盖,按控制器“消警”键,控制器停止报警;移动测试棒将回复至起始点。

12、试验完毕后,关闭控制器电源开关,将电源插头从插座上拔掉;
随即将仪器清理干净,以备下次使用。

一个非常好的DWR实例

一个非常好的DWR实例

DWR(Direct Web Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java类来动态生成JavaScrip代码).DWR确实是一个非常优秀的项目,它通过反射,将java翻译成javascript,然后利用回调机制,轻松实现了javascript调用Java代码。

其大概开发过程如下:1.编写业务代码,该代码是和dwr无关的。

2.确认业务代码中哪些类、哪些方法是要由javascript直接访问的。

3.编写dwr组件,对步骤2的方法进行封装。

4.配置dwr组件到dwr.xml文件中,如果有必要,配置convert,进行java和javascript类型互转。

5.通过反射机制,dwr将步骤4的类转换成javascript代码,提供给前台页面调用。

5.编写网页,调用步骤5的javascript中的相关方法(间接调用服务器端的相关类的方法),执行业务逻辑,将执行结果利用回调函数返回。

6.在回调函数中,得到执行结果后,可以继续编写业务逻辑的相关javascript代码。

下面以用户注册的例子,来说明其使用。

(注意,本次例子只是用于演示,说明DWR的使用,类设计并不是最优的)。

1.先介绍下相关的Java类User: 用户类,public class User {//登陆ID,主键唯一private String id;//姓名private String name;//口令private String password;//电子邮件private String email;//以下包含getXXX和setXXX方法.......}UserDAO:实现User的数据库访问,这里作为一个演示,编写测试代码public class UserDAO {//存放保存的数据private static Map dataMap = new HashMap();//持久用户public boolean save(User user) {if (dataMap.containsKey(user.getId()))return false;System.out.println("下面开始保存用户");System.out.println("id:"+user.getId());System.out.println("password:"+user.getPassword());System.out.println("name:"+user.getName());System.out.println("email:"+user.getEmail());dataMap.put(user.getId(), user);System.out.println("用户保存结束");return true;}//查找用户public User find(String id) {return (User)dataMap.get(id);}}DWRUserAccess:DWR组件,提供给javascript访问的。

DWR入门教程之HelloWorld

DWR入门教程之HelloWorld

DWR入门教程之HelloW orld首先到/dwr/ 下载dwr.jar ,放到WEB-INF/lib 下…负责处理客户端请求,并呼叫Java 对象的是DWRServlet ,DWR 其实也有些Model 2 的味道,只是V iew 的这一层比较弱,因为放到客户端的JavaScript 应用程序中…在web.xml 中加入DWRServlet…1<?xml version="1.0" encoding="UTF-8"?>2<web-app id="WebApp_ID" version="2.4"3xmlns="/xml/ns/j2ee"4xmlns:xsi="/2001/XMLSchema-instance"5xsi:schemaLocation="/xml/ns/j2ee/xml/ns/j2ee/web-app_2_4.xsd">6<display-name>dwrtest</display-name>78<servlet>9<servlet-name>dwr-invoker</servlet-name>1011<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>12<init-param>13<param-name>debug</param-name>14<param-value>true</param-value>15</init-param>16</servlet>1718<servlet-mapping>19<servlet-name>dwr-invoker</servlet-name>20<url-pattern>/dwr/*</url-pattern>21</servlet-mapping>2223</web-app>接下来写个简单的Hello 吧!1package com.dwr;23public class HelloWorld {4private String name;5public HelloWorld(){67}8public String getName() {9return name;10}11public void setName(String name) { = name;13}14public String sayHello(String name) {15return "Hello, " + name;16}1718}客户端要呼叫这个Java 对象,传给它参数,而后传回一个字符串,客户端再显示这个字符串,神奇?其实是要告诉DWRServlet 这件事,这需要一个dwr.xml,在WEB-INF目录下建立这个这个文件:1<!DOCTYPE dwr PUBLIC2"-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"3"/dwr/dwr10.dtd">45<dwr>6<allow>7<create creator="new" javascript="JDate">8<param name="class" value="java.util.Date"/>9</create>10<create creator="new" javascript="Hello">11<param name="class" value="com.dwr.HelloWorld"/>12</create>13</allow>14</dwr>creator 设定为new ,表示使用Hello 的无参数建构子来生成对象,javascript 设定为Hello ,表示客户端JavaScript 程序可以使用Hello 来呼叫对应的onlyfun.caterpillar.Hello 物件。

DWR-932 4G LTE 移动路由器用户手册说明书

DWR-932 4G LTE 移动路由器用户手册说明书

4G/L TE Mobile RouterDWR-932The DWR-932 4G/LTE Mobile Router is a 4G LTE Cat4 high speed mobile broadband Wi-Fi hotspot. The DWR-932 uses a 4G Internet connection to give you an easy-to-set-up Wi-Fi network anywhere you need one. Instead of limiting your mobile Internet connection to a single device through a USB dongle, the DWR-932 allows you to create a Wi-Fi hotspot to share your connection. The portable size and battery powered enabled you to share your connection anywhere. Share a single mobile Internet connection with your friends or colleagues to send and receive e-mail, surf the Internet or make VoIP calls, on multiple devices, all at the same time.Connect AnywhereSimply insert your data-enabled SIM card and share an Internet connection, allowing your family and friends stay connected. Ideal for business trips to share an Internet connection during a meeting or while travelling, allowing you to provide all your travel companions Internet access whether they’re using a laptop or a mobile device.Security Features to Keep Y our Network SafeThe DWR-932 4G/LTE Mobile Router is easy-to-use and includes a host of security features. The built-in firewall keeps connected computers and other devices safe from Internet intrusions, while WPA security encryption prevents unauthorised users from connecting to your network. Wi-Fi Protected Setup (WPS) helps you to create a secure wireless network, and add new devices with just the touch of a button, getting you securely connected in no time.Flexible UsageThe DWR-932 4G/LTE Mobile Router gives you instant connectivity, all in a powerful yet portable device, that fits easily into your pocket. The rechargeable 2000 mAh Li-on battery allows you to stay connected for long periods of time, and it’s plug-and-play with no complicated software to install. Getting online with the DWR-932 4G/LTE Mobile Router is quick, easy, and convenient.FeaturesConnectivity• Uses a USIM card to connect to the Internet • Compatible with 802.11n/g/b wireless devices • Micro-USB port for easy charging Portability• Up to five hours of battery in one charge so you stay connected longer• Small size lets you drop it in a purse or pocket and take it wherever you go Wireless Encryption and Firewall• WPA/WPA2 Wi-Fi industry-standard encryption • NAT firewall• Wi-Fi Protected Setup (WPS) for one-touch setupD-Link European Headquarters. D-Link (Europe) Ltd., First Floor, Artemis Building, Odyssey Business Park, West End Road, South Ruislip HA4 6QE, United Kingdom. Specifications are subject to change without notice. D-Link is a registered trademark of D-Link Corporation and its overseas subsidiaries. All other trademarks belong to their respective owners. ©2018 D-Link Corporation. All rights reserved. E&OE. Updated January 2018For more information: 。

DWR使用步骤

DWR使用步骤

DWR(direct web remote)是一个基于服务器端的ajax框架。

通过该框架,我们可以使用js来直接调用java方法。

是一个基于浏览器其端的ajax框架,只需要引入即可使用。

Jquery:1.引入jar包到WEB-INF/lib2.中写入:<servlet><servlet-name>dwr-invoker</servlet-name><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>3.建立java类(普通java类即可,不是servlet)TestClasspublic class TestClass {public void testMethod1(){"hello dwr!");}}4.在/WEB-INF/中配置java类:<xml version="" encoding="UTF-8">5.<!DOCTYPE dwr PUBLIC "-html中使用,需要首先引入:(需要保证dwr这个目录位于web应用的根目录)<script src='dwr/interface/'></script><script src='dwr/'></script><script src='dwr/'></script>6.在javascript方法中调用后台java类方法:function test(){();}用dwr调用有参数或有返回值的java方法:f unction test(){("bbb",parseInfo);nnerHTML=data;}DWR调用的简单顺序:1.js调用相应的方法发送请求。

DWR介绍

DWR介绍

什么是DWR?DWR是一种AJAX解决方案!DWR包括一个java库,以及一套javascript,使得我们可以用一种非常简单的方式,在页面上使用javascript直接调用后台的java对象!DWR架构DWR的javascript库包括几个部分:dwr的javascript引擎(即对AJAX调用的封装)、dwr 提供的一些非常有用的辅助javascript函数库、以及dwr自动帮我们生成的专门用于调用后台JavaBean方法的javascript库!Dwr在运行的时候,动态生成一个javascript库,这个库是对后台javabean调用的封装,我们可以直接使用这个库来实现直接调用JavaBean的目的!注意:是在运行的时候动态生成!下面我们来看看如何安装和使用(基于DWR2.x版本):如何下载、安装与使用?官方网址:/dwr1、下载dwr.jar,将其加入web-inf/lib目录3、配置dwr,即在WEB-INF目录下,添加dwr.xml文件,让dwr知道在运行的时候应该给哪些JavaBean生成相应的javascript库!这个配置的意思是,要创建的是Test1对象的javascript库,而且这个库的名字叫test1,同时,这也是我们在JSP页面上调用这个对象的时候所使用的名称,请看下面的JavaBean代码和JSP实例:5、在JSP中的使用!util.js,它们分别是dwr中的核心引擎库和辅助工具函数库!第三个引入的dwr/interface/test1.js,实际上这个文件并不存在,这是由dwr在运行的时候动态生成的!test1这个名称,跟dwr.xml文件中配置的对应对象的javascript属性一致!而且,我们在使用的时候,直接使用test1这个名称,作为这个对象的引用。

直接调用这个对象的方法:sayHello,这个方法的名称必须与JavaBean中的方法名称一致!sayHello方法有一个参数,同时返回一个值。

DWR框架介绍及使用方法

DWR框架介绍及使用方法
}
可以使用下面的javascript调用方式:
<script type="text/javascript"
src="[WEBAPP]/dwr/interface/Remote.js"> </script>
<script type="text/javascript"
src="[WEBAPP]/dwr/engine.js"> </script>
DWR还有个限制:
避免使用JavaScript的保留字,因为用保留字命名的方法会自动被执行。大多数的JavaScript保留字和Java保留字相同,所以不能定义一个“try()”方法,然而有一个最常用的方法是“delete()”,这个方法在JavaScript中有特殊含义,但在Java中没有。
2.5
以上三种方式DWR都支持,仅仅是通过修改配置文件就可以切换实现方式。
4.2
如果需要更快的响应速度,并且可以接受额外的服务器负载,可以配置DWR使用Coment或Polling方式。这种模式称作积极的Reverse Ajax。默认情况下DWR不是以积极ReverseAjax模式启动,仅仅允许piggyback传输模式。
或者你可以都写在一行:
Remote.getData(42, function(str) { alert(str); });
3.2
假设有下面的Java方法,有一个Person类型的Java Bean参数:
public class Remote {
public void doSomethingWithPerson(Person p) {
}
你可以像下面一样调用Javascript:

dwr处理工艺

dwr处理工艺

dwr处理工艺
DWR是一种常用的功能性涂层处理工艺,全称为Durable Water Repellent,即耐久防水处理。

它主要应用于纺织品和服装材料上,通过在材料表面形成一层微细的涂层来提高其防水性能。

DWR处理工艺的主要步骤包括清洗、涂层和固化。

首先,需要对待处理的纺织品进行清洗,以去除表面的污垢和油脂等杂质,确保涂层能够有效地附着在材料表面上。

接下来,在清洗后的纺织品上均匀地涂覆一层DWR剂液,通常采用浸渍或喷涂的方式进行。

涂覆完毕后,需要进行固化处理,可以通过加热或使用化学物质来使涂层与纺织品表面结合并形成防水效果。

DWR处理的优点主要包括良好的防水性能、透气性和耐久性。

该处理工艺可以使纺织品在一定程度上抵御雨水和液体的渗透,同时保持衣物的透气性,不会导致过度的湿热感。

此外,经过DWR处理的纺织品具有较好的耐久性,能够在多次清洗和使用后依然保持一定的防水效果。

需要注意的是,DWR处理并不能使纺织品完全防水,特别是在极端环境下或长时间的暴露条件下,仍可能发生渗透。

此外,DWR涂层会随着时间和使用而逐渐磨损,需要进行定期的维护和更新。

因此,在使用DWR处理的纺织品时,还应采取其他措施来增强防水性能,例如选择质量好的面料、加密接缝等。

总之,DWR处理工艺是一种常用的提高纺织品防水性能的方法,通过在材料表面形成一层涂层,有效地减少液体的渗透。

但需注意其
并非完全防水,需要定期维护和注意使用条件。

DWR帮助文档-dwr.xml文件的配置

DWR帮助文档-dwr.xml文件的配置

一、为什么要配置dwr.xml要理解dwr.xml的配置首先要理解DWR的基本功能。

DWR其功能的强大在于它可以用一种前所未有的便利方式将前端页面中的js与后端服务器中的java程序进行直接的转换。

比如,它可以将java程序中的某个XxxBus转换成js中的一个对象,并将XxxBus中的某个方法如getXXX()转换成js中的一个名为XxxBus.getXXX()的function。

同时,它可以将java 中的值对象或其它数据包转换成js中的对象。

理解这一点非常重要。

配置文件dwr.xml就是让你告诉DWR哪些Bus你需要在页面中调用,以及你需要调用这些Bus中的哪些方法,哪些方法你不需要调用。

一旦告诉了DWR这些信息,你似乎就可以在页面中像写java程序一样的直接调用Bus,而跳过了MVC层(如struts中的action和actionform)以及MVC层的繁琐配置与编程。

为了帮助你理解这一点我举一个例子,已经清楚的朋友可以跳过。

假如我在项目的BUS层写了一个类叫DepartmentBus并在这个类中定义了一个方法getDepartment(String id),那么我们先把这个类和它的方法配置到dwr.xml中(如何配置我后面再讲)。

当DWR启动的时候,它会将java中的DepartmentBus及其方法getDepartment(String id)转换成js中的DepartmentBus及其方法getDepartment(String id)。

更具体地说,它会动态产生一个叫DepartmentBus.js的文件(这个文件可以在测试状态下从“项目地址端口/dwr/test/DepartmentBus”中看到)。

在这个文件中,会创建一个DepartmentBus的对象,一个叫DepartmentBus.fincDepartment(p0, callback)的函数。

如果你在页面中引入了DepartmentBus.js文件,你就可以在该页面的<script></script>中调用DepartmentBus.fincDepartment(p0, callback)方法,DWR就可以通过Ajax的方式直接去调用服务器端的DepartmentBus中的fincDepartment(String id)。

DWR详细介绍

DWR详细介绍

DWR程序—结果
通过dwr向服务器的JavaBean传递参数,并获取返回的数据:


第一步:书写一个JavaBean如UserInfo. 第二步:在dwr.xml中注册UserInfo的JavaBean. 第三步:在页面上引用此javaBean,建议在定义时,使用第一个单词大 写的方式。 第四步:获取信息,并调用方法。
DWR简化了ajax的开发

封装了ajax的使用,不再需要直接使用XMLHttpRequest,减少了javascript 通过回调函数的方式,简化了错误处理和数据的处理 直接调用服务器的方法,不再需要通过URL方式.
再一次学习基本的配置-DWR程序--世界,你好

将DWR的jar文件拷入Web应用的WEB-INF/lib目录中,在web.xml中增加一个servlet声明,并创建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> <!-- 必须加入以下信息,否则会:CSRF Security Error --> • <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>

防水夹克防水的秘密

防水夹克防水的秘密

防水夹克防水的秘密防水夹克是什么原理?它在夹克代工厂又是如何制造出来的呢?今天我们就来详细谈谈。

其实防水夹克的关键在于持久防水剂,在商业术语中我们通常用它的英语缩写“DWR”来称呼它。

它是一种化合物,涂抹在服装的外表层可以让衣服达到防水的效果。

在本文中,我们将讨论关于DWR的方方面面,它是如何应用于服装的?该如何保养?以及如何提高它的耐用性?DWR是一种局部化学涂料,是由一种聚合物组成,一旦把它涂抹在丝织物上,衣服便获得防水性能,它能使掉落在衣服上的水变成珠子滑落,就像荷叶,所以采购人员在采购布料的时候会说“荷叶效果”。

关于DWR的一些本质⏹DWR只作用于衣服外层;⏹DWR可以保护织物避免膨胀或潮湿;⏹DWR不影响衣服的透气性;⏹DWR的性能会受到污垢、油渍的影响;⏹如果衣服失去防水性能,可以在家通过洗涤、喷雾使衣服重新获得防水性能;DWR的应用方法在夹克制造厂中,将DWR应用于织物上主要有两种方法:喷雾或者洗涤。

而这两种方法其实在家中也可完成。

优缺点喷雾:速度快,操作简单,但是比较难做到均匀分布于织物上,而且以这种方式涂抹的DWR寿命短些,也就是说以这种方式涂抹的DWR需要更频繁地翻新。

洗涤:耗时长,应用难度较高,不过可以使DWR涂抹得更均匀,使用寿命也更长。

另外需要注意的是,虽然这两种在家也可操作,但是不能指望达到工厂专业级的效果。

如何在家中应用DWRDWR需要经常维护才能保持良好性能,集聚在衣服上的污垢、油渍是DWR恶化的主要原因,那么当你的夹克防水性能下降,你该怎么做呢?非常简单:你需要给你的衣服更多DWR和一些热量。

喷雾像Nikwax这种防水喷雾剂非常简单使用,很适合衣服的日常保养。

在使用防水喷雾前,要用湿布把衣服表面擦干净,在确保所有赃物都被擦掉后,把DWR尽可能均匀地喷在衣服上,然后风干。

洗涤洗涤的效果更好,如Nikwax TX洗涤剂是很好的选择,需要特别注意的是不要使用除特定DWR产品以外的任何洗涤剂,因为它们会破坏衣服原有的透气性和防水性。

dwr 对象传递参数

dwr 对象传递参数

DWR对象传递参数:深入理解与应用一、引言DWR(Direct Web Remoting)是一种基于Java的开源库,用于在浏览器和服务器之间建立实时、双向的通信。

通过DWR,开发人员可以轻松地调用服务器端的Java方法,并将结果直接传递给前端的JavaScript代码。

这种通信方式不仅提高了Web应用程序的响应速度,还降低了网络流量。

在本文中,我们将深入探讨DWR对象传递参数的原理、实现方式及应用场景。

二、DWR对象传递参数的基本原理DWR对象传递参数的过程可以分为以下几个步骤:1. 服务器端定义Java方法:首先,在服务器端定义一个或多个需要暴露给前端的Java方法。

这些方法可以是普通的JavaBean方法,也可以是Spring Bean方法等。

2. 配置DWR:在服务器端配置DWR,将需要暴露的Java方法注册到DWR引擎中。

这一步骤通常通过在web.xml文件中添加DWR Servlet来实现。

3. 客户端调用Java方法:在前端JavaScript代码中,通过DWR提供的API来调用已注册的Java方法。

调用时,需要传递相应的参数。

4. 参数序列化与反序列化:当Java方法被调用时,DWR会将传递的参数序列化为JSON或XML格式,然后通过HTTP请求发送给服务器。

服务器接收到请求后,会对参数进行反序列化,转换为Java对象。

5. 执行Java方法并返回结果:服务器执行相应的Java方法,并将结果序列化为JSON或XML 格式,通过HTTP响应返回给前端。

前端接收到响应后,对结果进行反序列化,转换为JavaScript 对象。

三、DWR对象传递参数的实现方式1. 基本类型参数传递:对于基本类型(如int、String等)的参数,可以直接在JavaScript代码中传递。

DWR会自动将其序列化为对应的JSON格式。

2. JavaBean参数传递:对于自定义的JavaBean对象,需要在服务器端实现Serializable接口,以便进行序列化和反序列化。

DWR框架入门教程

DWR框架入门教程

DWR框架入门教程2009-10-20 17:01DWR(Direct Web Remoting)是一个开放源码的使用 Apache 许可协议的解决方案,它包含服务器端 Java 库、一个 DWR Servlet 以及 JavaScript 库。

虽然DWR 不是 Java 平台上唯一可用的 Ajax-RPC 工具包,但是它是最成熟的,而且提供了许多有用的功能。

为什么要使用DWR,我们首先介绍基本AJAX流程,从中可以看到引入DWR会带来什么好处。

1、AJAX的基本介绍Ajax (Asynchronous JavaScript And XML)描述了一种使用混合了HTML(或XHTML)和层叠样式表作为表达信息,来创建交互式的Web应用的开发技术;文档对象模型(DOM)、JavaScript、动态地显示和与表达信息进行交互;并且,XMLHttpRequest对象与Web服务器异步地交换和处理数据。

使用AJAX,我们可以开发出有很好交互性的B/S程序,同时AJAX局部和异步刷新的特性也大大减小了对服务器和网络的压力。

对于非AJAX的B/S程序来说HTML、DOM、JS同样是不可或缺的关键技术,因此引入AJAX技术主要是增加了对于XMLHttpRequest对象的使用。

我们使用AJAX来开发一个简单的AJAX程序。

例1:服务端的TestAjaxServlet:public void doPost(HttpServletRequest req, HttpServletResponse res) throws java.io.IOException { res.getWriter().write("Getting Message uses AJAX directly!"); }请将些Servlet配置成ajax/testAjaxServlet.客户端的使用AJAX去调用服务端的TestAjaxServlet并响应:function getAjaxMessage() { var http_request = false; if(window.XMLHttpRequest) { // Mozilla, Safari,... http_request = new XMLHttpRequest(); if (http_request.overrideMimeType){ http_request.overrideMimeType("text/html"); } } else { if (window.ActiveXObject) { // IE try { http_request = newActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { } } } } if (http_request === false) { alert("Cannot create XMLHTTP instance"); return false; } http_request.onreadystatechange = function (){ document.getElementById(‘MessageSpan’).innerHTML =http_request.responseText; }; http_request.open("POST",“ajax/testAjaxServlet.do“, true);http_request.setRequestHeader("Content-type","application/x-www-form-urlencoded");http_request.setRequestHeader("Content-length", parameters.length);http_request.setRequestHeader("Connection", "close");http_request.send(parameters); }当客户端调用getAjaxMessage()成功后,页面上的“MessageSpan”部分会出面“Getting Message uses AJAX directly!”,表明调用成功,且页面没有整体全部的刷新,在处理没有完成的时候,用户和页面上其它的UI交互并不受影响。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Dwr 框架基础用法
1. Web.xml 中的配置:
<servlet> <description>Direct Web Remoter Servlet</description> <display-name>DWR Servlet</display-name> <servlet-name>dwr-invoker</servlet-name> <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>false</param-value> </init-param> <load-on-startup>10</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dwr-invoker</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping>
2. Dwr.xml 中的配置:
<dwr> <allow> <createcreator="new"javascript="JDate"> <paramname="class"value="java.util.Date" /> </create> <createcreator="new"javascript="DwrInvokeData"> <paramname="class"value="com.xxx.xxx.DWRACTION" />


</create> </allow> </dwr>
3. JSP 中需要引入:
<scripttype='text/javascript' src='/项目名 /dwr/interface/DwrInvokeData.js'></script> <scripttype='text/javascript' src='/项目名/dwr/engine.js'></script> <scripttype='text/javascript' src='/项目名/dwr/util.js'></script>
4. Java 代码
还需要一个 java 类 Action 中些处理方法
publicObjectTest(argType1arg1,argType2arg2,………,argTypeNargN)throws Exception{ //处理逻辑 Return Object; }
5. Javascript 调用
function test(){ //其他代码 DwrInvokeData.方法名(参数 1,参数 2,..,参数,testCallBack); //如:DwrInvokeData.Test(参数 1,参数 2,..,参数,testCallBack); //其他代码


} //回调函数中返回参数为后台处理 Action 中的返回值,可以是任意 JavaBean,基本类型,数//组,集 合等 functiontestCallBack(返回参数){ //处理界面展代码 }















相关文档
最新文档