Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java DWR的缺点是什么?_Java_Javascript_Ajax_Request_Dwr - Fatal编程技术网

Java 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,并使网页成为一个动态文档的场景。这会带来很好的用户体验(如果做得好的话),但每个请求都会导致服

在intranet中使用DWR时,是否会出现性能或安全问题等缺点?
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。