“DWR让AJAX如此简单“一文中对DWR进行了简单的介绍。
ajax的这些开源项目,关注一下即可,理解人家的思路,暂时没太必要深入研究。
DWR,主要是完成了javascript对象和java对象之间的序列化任务, 通过类似于RPC调用的机制(通过JSON传递),使得在client处调用js的方法就如同调用server端的java方法一样。
也就是说在server处,没有jsp,servlet等概念,就是类似于DCOM中的remote call一样,编写普通java类、方法; 然后写出一个javascript的interface代理出来,在html叶面中直接使用即可。 然后用DWRutil类来更新html中的叶面元素。
方式比较独特,而且设计也非常巧妙,但是其核心依然是时时刻刻向server发出request请求,感觉应该结合“对象状态模式”来在client处 处理数据, 也能充分利用AJAX的最大特点,, 将数据移动到了前台, 就应该充分发挥已经得到的数据, 而不是时刻向server发请求。
另外这种方式, 与SOA的关系就比较远了, 采用的是rpc直接为js提供方法,而不是采用在servlet中返回xml为http请求提供服务。
浙公网安备 33010602011771号