简介:dwr是一种开源的封装的ajax框架,可以在前台页面直接调用后台的java函数。 1 <converter>标签是dwr中内置的转换器。我们也可以使用自己写的转换器,不过dwr提供的转换器已经足够了,所以这个标签,一般不会自己去写。 java bean --> 3 标签是dwr中重要的标签,用来描述 java(服务器端) 与 javascript (客户端)的交互方式。 或Groovy spring:通过Spring框架访问Bean struts:使用Struts的FormBean (v1.1+) jsf:使用JSF的Bean (v1.1+) pageflow:访问Weblogic或Beehive的PageFlow (v1.1+) ejb3:使用EJB3 session bean (v2.0+) [此处使用的是与Spring
DWR让Ajax如此简单(1) 阅读提示:这篇文章让读者看到了一个使用了DWR的Web应用是如何一步步建立的。 我会展示创建这个简单的示例应用的必要的细节,这个应用是可下载的并且可以在你的环境中布署来看看DWR如何工作。 DWR(直接Web远程控制)项目是在Apache许可下的一个开源的解决方案,它供给那些想要以一种简单的方式使用Ajax和XMLHttpRequest的开发者。 我会展示创建这个简单的示例应用的必要的细节,这个应用是可下载的并且可以在你的环境中布署来看看DWR如何工作。 DWR配置和使用 设置DWR的使用是简单的:将DWR的jar文件拷入Web应用的WEB-INF/lib目录中,在web.xml中增加一个servlet声明,并创建DWR的配置文件。
代金券、腾讯视频VIP、QQ音乐VIP、QB、公仔等奖励等你来拿!
DWR文档之 技巧和要点 这里列出了在使用DWR时候的一些技巧和要点,希望对你有所帮助。 虽然实现一下基本的功能比较简单,但是完全实现快捷键(keyboard navigation)功能就非常困难了。 使用’Local’版本并远程协同DWR工作比使用’Remote’ 版本容易的多,因为后者还需要知道服务端怎样工作。 有一个比较简单的解决方法,将这些 javascript 文件复制到 web-app 目录,这样服务器可以更好的来处理它们。 我们将发布一个补丁使得 DWR 在 web 程序启动的时候可以使用时间来标记 Javascript 文件,但是这些并不是最好的解决方法,因为上面所说的方法非常简单并且可以很大程度上压缩合并 Javascript
精巧的设计使DWR很容易被java开发人员接受;对传统web程序的无侵害性让它被引入更多的项目。与服务器端通信,DWR很有代表性,并很好的隐藏的xmlhttp对象,也基本可以满足我们要求。 如果我们想抛弃传统的webwork/spring mvc等MVC框架,全部数据由DWR来实现的话,也有一定风险。没办法,只能挖掘DWR深层次的应用了。 一、业务层设计 为了讨好传统的,用户量惊人的传统web应用。可能更准确的说是webwork/jsf为了和火热的AJAX套上关系,主动和dwr联系。 如何简单配置?值得考虑一下! 2、如果简化converter dwr提供的converter功能已经很不错了,但是扩展.编写自己类型的converter还是很麻烦. 现在服务器端生成javascript也挺热闹,虽然偶不是很感兴趣,但如果dwr能把converter弄简单一些,包括配置,扩展,所见既所得.那就完美了.
DWR让Ajax如此简单(2) http:www.51cto.com 2005-11-18 17:18 作者:Cloves Carneiro;simmone 出处:www.javaworld.com 第二,标记让DWR暴露出dwr.sample.ApartmentDAO类给JavaScript调用;我们在页面中使用JavaScript文件被javascript属性定义。 安全因素 为了保持示例的简要,ApartmentDAO类尽可能的保持简单,但这样的一个类通常有一组设置方法来操作数据,如insert(), update()和delete()。 开发者可以创建一个门面来集中所有JavaScript函数与底层业务组件之间的通信,这样就限制了过多暴露的功能。 结论 这篇文章仅仅让你在你的项目中使用由DWR支持的Ajax开了个头。 DWR让你集中注意力在如何提高你的应用的交互模型上面,消除了编写和调试JavaScript代码的负担。使用Ajax最有趣的挑战是定义在哪里和如何提高可用性。
image.png DWR(Direct Web Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务端的 6.在回调函数中,得到执行结果后,可以继续编写业务逻辑的相关javascript代码。 下面以用户注册的例子,来说明其使用。 (注意,本次例子只是用于演示,说明DWR的使用,类设计并不是最优的)。 convert元素用于数据类型转换,即java类和javascript之间相互转换,因为和前台交换的是User对象,因此需要对此使用bean转换,我们将在后面介绍这个类。 在函数function saveFun(data)中,data是执行结果,这里是一个bool值,非常简单的,我们通过判断data是否为真,可以知道用户名是否重复,用户是否注册成功。
dwr官方地址:http://getahead.ltd.uk/dwr 先简单介绍一下什么是DWR DWR - Direct Web Remoting ajax是一种提高web站点吸引力和实用性的书写 把它结合到一个现有的站点是非常简单的,同样它也可以简单地与大多数java框架结合。 util.js util.js包含了一些使用的方法,从而帮助你利用javascript(可能)从服务器端更新你的web数据。 你可以在DWR之外的地方使用它,因为它并不依赖与DWR而实现。 Generating Lists DWR的一个功能可以给一个下拉列表(select list)添加选项,只需使用DWRUtil.addOptions()。
AJAX实践DWR篇 发布:dxy 发布日期:2006-9-22 字体:[增加 减小] 类型:转载 DWR(Direct Web Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单 .利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java类来动态生成JavaScrip代码).它的最新版本 6.在回调函数中,得到执行结果后,可以继续编写业务逻辑的相关javascript代码。 下面以用户注册的例子,来说明其使用。(注意,本次例子只是用于演示,说明DWR的使用,类设计并不是最优的)。 convert元素用于数据类型转换,即java类和javascript之间相互转换,因为和前台交换的是User对象,因此需要对此使用bean转换,我们将在后面介绍这个类。 在函数function saveFun(data)中,data是执行结果,这里是一个bool值,非常简单的,我们通过判断data是否为真,可以知道用户名是否重复,用户是否注册成功。
在DWR中实现直接获取一个JAVA类的返回值 DWR是Ajax的一个开源框架,可以很方便是实现调用远程Java类。但是,DWR只能采用回调函数的方法,在回调函数中获取返回值,然后进行处理。 下面我写一个简单的Java类,如下: public class Test() { public String getString() { return "test"; } } 上面这个类很简单,里面的getString就直接返回一个字符串。 先来说说Ajax的运行原理吧,其实它的原理很简单,就是调用远端地址,获取页面返回数据,然后进行分析处理。 而这个过程是异步的,就就是为什么DWR采用回调函数的原因了,而你不知道,我们调用了Java类后,回调函数不知道什么时候执行。
Ajax的实现原理 在介绍我的设计之前,先简单介绍Ajax的原理,以及其效率低的原因。从根本上来说,Ajax是采用微软的一种叫XMLHttp的技术,异步访问一个远端路径,返回页面结果。 DWR的好处是,可以将一些Java类映射成一个Javascript的对象,从而可以在javascript中非常方便的使用Java类。 说白了,dojo使得Javascript就好像面向对象语言一样,有类,有方法,开发其大型项目更加容易。 客户端数据集/服务端数据集采用了dojo框架,使其实现起来有类,有方法,更加容易使用。 这个需要具体情况具体分析,一般简单的系统,采用上面所说的方式,应该足够,也不需要很费力气的开发出一个客户端数据集来。 但它有一个好处,就是减少了很多查询方法的使用,对数据集的访问都采用了一致的方法来实现。
相对而言Java同步调用,创建与Java代码匹配的Ajax远程调用接口的最大挑战来至与实现Ajax的异步调用特性。 DWR通过引入回调函数来解决这个问题,当结果被返回时,DWR会调用这个函数。 有两种推荐的方式来使用DWR实现远程方法调用。可以通过把回调函数放在参数列表里,也可以把回调函数放到元数据对象里。 当然也可以把回调函数做为第一个参数,但是不建议使用这种方法。 简单的回调函数 假设你有一个这样的Java方法: public class Remote { public String getData(int index) { ... } } 我们可以在Javascript 此外你也可以使用这种减缩格式: Remote.getData(42, function(str) { alert(str); }); 调用元数据对象(Meta-Data) 另外一种语法时使用"调用元数据对象 因为setter都是返回'void',我们就不需要使用callback函数了。如果你想要一个返回void的服务端方法的完整版,你也可以加上callback函数。很明显DWR不会向它传递任何参数。
Getting Started with DWR There are 2 ways to get started with DWR, the easy way is to download the WAR /dwr/dwr10.dtd"> <dwr> <allow> <create creator="new" javascript="JDate"> <param name="class > The <em>DWR</em> config file defines what classes <em>DWR</em> can create and remote for use by Javascript. width="728" scrolling="no" height="15" allowtransparency="allowtransparency"></iframe> 相关文档_ Ajax开发框架+用户名检测实例 (调试通过) - Jul 03, 2006 Ajax按需读取数据生成下级菜单[转] - Jul 03, 2006 Ajax在PHP开发中的应用[转] - Jun 27, 2006 利用PHP和AJAX创建
ajax 开源项目 DWR ajax开源项目dwr的使用: 利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值 给JavaScript就好像直接本地客户端调用一样. 1: 3:在web.xml同级中增加文件dwr.xml,此文件是javaScript中调用的方法,影射到class类 例如: <! > 在allow节点中定义要影射的class类,并且给其class类起一个javaScript的名字,以便在 javaScript中调用。 class文件了,调用方式如下 一下为测试的 html文件 <! javaScript的引入,后面两行是dwr中的本身定义的javaScript (heishanlaoyao) Posted by kevinwu on December 19, 2006 11:56
依照dwr的功能:浏览器可以调用服务器端的java方法。 那么我们不难理解,项目中有自己写的java方法,有一个jsp页面。然后项目本身添加一些配置(具体是web.xml和dwr.xml)。 -- 使用服务器反转AJAX --> <init-param> <param-name>activeReverseAjaxEnabled</param-name> 但是使用的时候需要注意一下。 客户端怎么调用服务器端方法? 通过刚才的js脚本配置,浏览器这端就可以调用WEB服务器的Java方法了。 前后端都可以自由的调用。
前言 我曾发现了D-Link路由器不同型号的多个漏洞,今天我要分享的是我最近发现的D-Link路由器的三个漏洞,综合利用这三个漏洞,可以获取D-Link路由器管理权限,实现对其成功接管。 ? 明文密码储存漏洞 - CVE-2018-10824 漏洞描述:D-Link路由器存有用户设置的明文密码 漏洞危害:攻击者可以读取存在于/tmp/目录下的用户明文密码 影响产品: DWR-116型号中固件版本低于 型号中固件版本低于 2.02 DWR-921型号中固件版本低于 2.02 DWR-111型号中固件版本低于 1.01 漏洞验证:由于目前D-Link存在大量未修复的该漏洞相关产品,为了避免对用户造成安全损害 ,我把具体的明文密码储存目录用XXX作了隐藏代替,明文密码具体储存位置为/tmp/XXX/0 文件中,具备上述目录遍历漏洞的攻击者可以轻松获取得到,从而实现提权。 综合利用 综合利用以上三个漏洞,可以轻松获得对D-Link路由器的代码执行和完全控制权。
此时便可以使用 username.github.io/仓库名称 进行访问了,我在此处的访问地址是:https://bylant.github.io/DWR-Spring/ ? /dwr/MessagePusher.java#L47 此时便会直接跳转到这行代码的位置,高亮显示 ? 其实我们也不用去死记硬背这些东西,因为 Github 有方式帮我们自动生成这些链接 分享单行代码 直接点击代码区的行号,URL 会随之跳转,大家可以观察下图的 URL 变化 ? 分享多行代码 多行代码和单行代码分享的操作步骤基本一致,只不过区别在于在选择完代码块开始行之后,点击结束行的同时需要按住 Shift 键,大家观察以下动图 URL 的变化 ? 具体使用方法参见 https://help.github.com/en/articles/searching-on-github 此处不再赘述了。 其他 issue 中输入冒号 : 添加表情 ?
2.深层次的树的导航 深层次的级联菜单(树)的遍历是一项非常复杂的任务,使用JavaScript来控制显示逻辑,使用Ajax延迟加载更深层次的数据可以有效的减轻服务器的负担。 Ajax不适用场景 1.部分简单的表单 虽然表单提交可以从Ajax获取最大的益处,但一个简单的评论表单极少能从Ajax得到什么明显的改善。而一些较少用到的表单提交,Ajax则帮不上什么忙。 JavaScript可以很简单的处理XHMTL/HTML/DOM,使用CSS规则就可以很好的表达数据显示。 vs Buffalo DWR和Buffalo都是Web Remoting框架,区别在于: DWR使用自定义的简单文本协议,而Buffalo使用burlap协议。 prototype,那么可以减少重复加载prototype的带宽,并且获得相当一致的编程概念 DWR的服务器端实现要比Buffalo完善一些 DWR更加通用一些,用户比较广,而Buffalo是国内的
简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。 是扩展标记语言,能够用一系列简单的标记描述数据 13、XML的解析方式 常用的用dom解析和sax解析。 在java中比较流行的有 dojo, Prototype , JQuery, Dwr, extjs 等等 15、如果熟悉某种ajax框架,他可能会问到怎样在程序中使用这种框架 DWR框架介绍 DWR(DirectWeb Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样 $() 方法是在DOM中使用过于频繁的document.getElementById() 方法的一个便利的简写,就像这个DOM方法一样,这个方法返回参数传入的id的那个元素。
很多人在登陆的时候会发现报错: 弹框错误信息是:Session Error 解决办法是先打开 WEB-INF/web.xml文件 <servlet> <servlet-name>dwr-invoker 这个问题,确实不好确诊,因为每个人使用的技术框架不同。 原因一: 这是因为同源策略的问题,为了WEB环境的安全,在WEB脚本语言中不允许读取不同源的数据,同源包括相同协议,相同域名和相同端口三个条件,而ajax的异步处理方式跳过了这个限制,为了安全限制,它设置为 原因二: 如果使用到了dwr,那就有可能是DWR的版本与服务器Tomcat不兼容的问题。要么升级DWR版本,要么是降低Tomcat的版本。 但是也可以采用我在上面加入的那句配置,也可以解决,只是验证的安全性能不太好!
初次使用dwr,做一个小demo,结果总是会弹出CSRF Security Error这个错误提示。 关于dwr的介绍以后再说,自己初步打算把新接触的知识从一开始都深入都一系列的写下来,这样或许在别人看的时候会觉得比较流畅,也会觉得能够了解这个技术点更多一些,(我自己就喜欢看这样的文章,因为如果在网上搜某一个关键字的话 下面开始正题: 我的开发环境是myeclipse8.6 + jdk1.6 + tomcat7.0 ,除了这样的错误之后查了一下,有这样的一个解决方法: 在web.xml中添加: <init-param> allowScriptTagRemoting</param-name> <param-value>true</param-value> </init-param> 不过我尝试之后发现没有用, 然后找到一个英文网站,这个:http://redrata.com/2010/11/resolving-dwr-csrf-security-error-popups/ 看其中的介绍,应该是tomcat7的机制问题
多云管理持续探索企业的公有云应用场景,致力于帮助企业在使用多个公有云时提升账号、资源的管理效率,降低企业云成本
扫码关注云+社区
领取腾讯云代金券