Atitit.ati dwr的原理and设计 attilax 总结 java php 版本

Atitit.atidwr的原理and设计attilax总结javaPHP版本

1.dwr的优点相对于ajax来说。。 1

2.DWR工作原理 1

3.Dwr的架构 2

4.自定义dwr还是nativedwr 2

5.ApiHandler的标准化method 2

6.Invok..Dwr.exe() 2

7.api.jsp 3

8.prj.Wxbdistribuapi.jsp 3

9.----------code 4

10.ApiHandler 4

11.iocx 5

12.参考 5

1.dwr的优点相对于ajax来说。。

dwr是构建在ajax上的。。更加的dsl化。。

大大简化了编写ajax的工作量。

2.DWR工作原理

是通过动态把Java类生成为Javascript。它的代码就像Ajax一样,你感觉调用就像发生在浏览器端,但是实际上代码调用发生在服务器端,DWR负责数据的传递和转换。这种从Java到JavaScript的远程调用功能的方式使DWR用起来有种非常像RMI或者SOAP的常规RPC机制,而且DWR的优点在于不需要任何的网页浏览器插件就能运行在网页上。
Java从根本上讲是同步机制,然AJAX却是异步的。所以你调用远程方法时,当数据已经从网络上返回的时候,你要提供有反调(callback)功能的DWR。

DWR在客户端放置了一个engine.js作为客户端的引擎,在Server端放置了一个dwr.jar作为服务器端的引擎。
然后,可以以RPC的方式来描述

作者::老哇的爪子Attilax艾龙,EMAIL:1466519819@qq.com

转载请注明来源:http://blog.csdn.net/attilax

3.Dwr的架构

Dwr>>ajax>>>api.jsp

4.自定义dwr还是nativedwr

Nativedwr要修正配置文件.麻烦的..自定义dwr好使用的..

5.ApiHandler的标准化method

sql

Select...$Meta{table,orderby},f1,f2Update/insert/merger....$Meta{},f1----f12Delete....$Meta{

6.Invok..Dwr.exe()

varmp={"method":"sql","param":"select*fromwxb_newswherenews_id="+UrlParm.parm('news_id')};

dwrC.exec(mp,function($data){

jo=str2json($data);

arr= jo;

 $("#table1_tmpl").tmpl(arr).appendTo('#table1');

$("#table1_tmpl").hide();

},$app_path);

7.api.jsp

*localhost:8080/wxb/api.jsp?method=sql¶m=select*fromwxb_news

8.prj.Wxbdistribuapi.jsp

<%@pageimport="com.attilax.api.HandlerChain"%>

<%@pagecontentType="text/html;charset=utf-8"language="java"import="java.sql.*"%>

<%@pageimport="com.attilax.api.HandlerChain"%>

<%@pageimport="com.attilax.api.ApiHandler"%>

<%@pageimport="aaaCfg.IocX"%>

<%

if(request.getParameter("method")!=null)

{

}

%>

<%

ApiHandlerax=IocX.getBean(ApiHandler.class);

%>

<%=ax.handleReq_dsl(request)%>

9.----------code

10.ApiHandler

@Inject

DBXdbx;

publicApiHandler(){

this.reg("sql",newHandler(){

@Override

ObjecthandleReq(Objectarg)throwsException{

//attilax老哇的爪子l_43_uo87

HttpServletRequestreq=(HttpServletRequest);

Listli=.findBysql(.getParameter("param"));

returncore.toJsonStrO88();

}

});

StringhandleReq_dsl(HttpServletRequest){

Stringmeth="method");

Handlerhd=(Handler)mp.get(try{

(String).handleReq(}catch(Exceptione//TODOAuto-generatedcatchblock

.printStackTrace();

}

11.iocx

bd.bind(DBX.class).toProvider(Provider<DBX>(){

DBXget(){

DataSourceds=(DataSource)SpringUtil

.getBean"dataSource"DbutilX(.getConnection());

(sqlExceptionnull});

12.参考

atitit.PHP中的dwr设计模式-attilax的专栏-博客频道-CSDN.NET.html

Atitit.dwr3不能显示错误详细信息的解决方,控件显示错误详细信息的解决方java.netPHP-attilax的专栏-博客频道-CSDN.NET.html

Atitit.atidwr的原理and设计attilax总结javaPHP版本

相关文章

JS原生Ajax操作(XMLHttpRequest) GET请求 POST请求 兼容性问题 利用iframe模拟ajax 实现表单提交的返回...
AJAX 每日更新前端基础,如果觉得不错,点个star吧 &#128515; https://github.com/WindrunnerMax/E...
踩坑Axios提交form表单几种格式 前后端分离的开发前后端, 前端使用的vue,后端的安全模块使用的SpringSe...
很早就听闻ajax的名声,但是却一直不知道怎么用,今天自己捣鼓了一下,竟然会用了,哈哈哈哈。 为了防止...
需要在服务器上进行哈 jquery的ajax方法: // jquery请求 $.ajax({ url: &quot;./server/slider.js...
Ajax函数封装ajax.js // Get / Post // 参数 get post // 是否异步 // 如何处理响应数据 // URL // var...