而在企业内部网使用DWR,会像性能比较或安全问题发生的缺点? 直接Web远程通信是使用Ajax请求从一个js文件与服务器的工具。
Answer 1:
有一件事我会注意的是,您的服务器将最有可能获得比如果你有(正常)整版HTTP传递更多HTTP请求命中。
让我解释。 如果启用了AJAX的你的网页,你的客户最终会创建(说)填表,网页片段再生等我见过的场景,开发人员已经走了AJAX疯狂多个HTTP请求,并提出对网页的主要是动态文件。 这导致在一个伟大的用户体验(如果干得好),但每请求导致的服务器命中,领先的可扩展性和延迟问题。
请注意 - 这是不是特别DWR,而是一个AJAX的问题。 我用DWR,以及它工作得很好。 不幸的是,我发现它的工作这么好,所以很容易,一切都变得对远程的候选人,你可以用较小的请求数量巨大而告终。
Answer 2:
我曾与DWR一个项目 - 一个非常好的工具。
我不相信关于发展的步伐虽然。 他们做后期的开发日志 ,他们正在上获得3.0出门工作,但最后的稳定版本- 2.0 -被淘汰在2006年夏天,令人担忧的拍摄从支撑角度看有点- bug修复更是如此。
Answer 3:
我所经历的主要问题是试图脚本负载测试那里的工作中,主要大宗经过DWR调用来完成的系统上。 调用的格式是困难的时候,只需回复一串网址不断变化的参数相比,复制。
不过DWR是一个很好的框架,使得实施的Javascript - > Java的RPC相当该死容易。
Answer 4:
缺少的一项功能当前DWR 3.X的任何用户都应该好好照顾的是,当一个bean的实例有NULL值的特性,这些特性将依然注入到JSON和这些冗余数据却会影响到性能。
当属性具有NULL值,通常它不应该被发送到前端。
问题详细信息: http://dwr.2114559.n2.nabble.com/Creating-Custom-bean-converter-td6178318.html
Answer 5:
DWR是一个伟大的工具,当你的网站有很多的AJAX调用。
每个使得DWR RPC调用页面需要包括:
一个)相对应的呼叫的接口文件正在取得进展。 和b)与包含DWR引擎代码,使这些电话可能DWR捆绑一个js文件。 为例如<script src="/dwr/engine.js" ></script>
同时优化Web应用程序被频繁使用的一种技术是尽可能多使用浏览器的缓存可以在资源(如js文件)的服务器上并没有改变。
的engine.js的东西,除非你的DWR升级到较新的版本,这将永远不会改变。 但是,默认情况下的engine.js是不是您的网络服务器提供的静态档案。 其作为DWR工具itsef的一部分捆扎并通过DWR控制器/ servlet.this犯规助剂客户端高速缓存提供服务。
因此,它是有益的,以节省您的Web服务器的文档根目录下的engine.js,让Web服务器服务于它作为一个静态文件。
Answer 6:
其它解决方案中最大的区别传输对象(编组)为对象的引用。
举例来说,如果你用它来传输一棵树:
一个
| -B
| -C
在一个列表中{A,B,C}:
B.parent = A C.parent = A
然后是Javascrit同一个对象!
在不好的一面,如果你有循环依赖和很多对象的复杂结构:A <-B,B <-C,C <-B,C <.A,...它可能会崩溃。
无论如何,我用它由数百个公司在生产中使用一个真正的项目,以便绘制复杂的图形成千上万个对象转移到一个单一的HTML页面,并有着不错的表现很好地工作。