Java DWR的缺点是什么?
在intranet中使用DWR时,是否会出现性能或安全问题等缺点?Java DWR的缺点是什么?,java,javascript,ajax,request,dwr,Java,Javascript,Ajax,Request,Dwr,在intranet中使用DWR时,是否会出现性能或安全问题等缺点? Direct web remoting是一种使用Ajax请求从js文件与服务器联系的工具。我要注意的一件事是,与(正常)整页HTTP交付相比,您的服务器很可能会受到更多HTTP请求的攻击 让我解释一下。当您的网页启用AJAX时,您的客户端将创建更多的HTTP请求,用于(比如)表单填充、页面片段重新生成等。我见过开发人员疯狂使用AJAX,并使网页成为一个动态文档的场景。这会带来很好的用户体验(如果做得好的话),但每个请求都会导致服
Direct web remoting是一种使用Ajax请求从js文件与服务器联系的工具。我要注意的一件事是,与(正常)整页HTTP交付相比,您的服务器很可能会受到更多HTTP请求的攻击 让我解释一下。当您的网页启用AJAX时,您的客户端将创建更多的HTTP请求,用于(比如)表单填充、页面片段重新生成等。我见过开发人员疯狂使用AJAX,并使网页成为一个动态文档的场景。这会带来很好的用户体验(如果做得好的话),但每个请求都会导致服务器命中,从而导致可伸缩性和延迟问题
注意-这不是DWR特有的问题,而是AJAX问题。我使用了DWR,它工作得很好。不幸的是,我发现它工作得非常好,而且非常容易,以至于所有东西都成为远程处理的候选对象,最终你可能会遇到大量的小请求 我用DWR做了一个项目——一个非常好的工具
不过,我不相信发展的速度。他们确实发布了他们正在致力于3.0的发布,但是上一个稳定的版本——2.0——是在2006年夏天发布的。从支持的角度来看,这有点令人担忧,尤其是修复了bug。我遇到的主要问题是试图在系统上编写负载测试脚本,其中大部分工作是通过DWR调用完成的。与只回复一堆参数不断变化的URL相比,调用的格式很难复制
DWR仍然是一个优秀的框架,使实现Javascript->Java RPC变得非常简单。DWR是一个伟大的工具,当您的站点有大量ajax调用时 进行dwr rpc调用的每个页面都需要包括: a) 与正在进行的调用相对应的接口文件。 及 b) 与dwr绑定的js文件,其中包含使这些调用成为可能的dwr引擎代码。例如,
优化web应用程序时经常使用的一种技术是,当服务器上的资源(如js文件)没有更改时,尽可能多地使用浏览器缓存
除非您将dwr升级到新版本,否则engine.js永远不会改变。但是,默认情况下,engine.js不是Web服务器提供的静态文件。它作为dwr工具itsef的一部分捆绑,由dwr控制器/servlet提供服务。这无助于客户端缓存
因此,将engine.js保存在Web服务器的文档根目录下,并让Web服务器将其作为静态文件使用是有益的 当前DWR 3.x缺少的任何用户都应该注意的一个特性是,当bean实例的属性为NULL值时,这些属性仍将注入JSON,这些冗余数据确实会影响性能 当属性的值为NULL时,通常不应将其发送到前端
问题的详细信息:传输对象(封送)的其他解决方案的最大区别是对象引用 例如,如果使用它传输树: A |-B |-C 在列表{a,B,C}中: 父母 C.parent=A 那么A就是Javascrit中的同一个对象
坏的一面是,如果你有复杂的结构,有循环依赖关系和大量的对象:我同意这个答案。我在基于web的应用程序中使用了DWR。该应用程序提供了良好的用户体验,但我认为该应用程序运行速度不快,因为所有的JavaScript和httprequest。