欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-05-11 22:25:31
...
Atitit.ati dwr的原理and设计 attilax 总结 java php 版本

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

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

2. DWR工作原理1

3. Dwr的架构2

4. 自定义dwr还是native dwr2

5. ApiHandler的标准化method2

6. Invok.. Dwr.exe()2

7. api.jsp3

8. prj.Wxb distribu api.jsp3

9. ----------code4

10. ApiHandler4

11. iocx5

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:[email protected]

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

3. Dwr的架构

Dwr>>ajax>>>api.jsp

4. 自定义dwr还是native dwr

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

5. ApiHandler的标准化method

Sql

Select... $meta{table,orderby}, f1,f2

Update/insert/merger ....$meta{table} ,f1----f12

Delete....$meta{table} ,f1----f12 (where)

6. Invok.. Dwr.exe()

var mp={"method":"sql","param":"select * from wxb_news where news_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 * from wxb_news

8. prj.Wxb distribu api.jsp

html; charset=utf-8" language="java" import="java.sql.*" %>

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

{

}

%>

ApiHandler ax = IocX.getBean(ApiHandler.class);

%>

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

10. ApiHandler

@Inject

DBX dbx;

public ApiHandler() {

this.reg("sql", new Handler() {

@Override

public Object handleReq(Object arg) throws Exception {

// attilax 老哇的爪子 l_43_u o87

HttpServletRequest req=(HttpServletRequest) arg;

List li = dbx.findBySql(req.getParameter("param"));

return core.toJsonStrO88(li);

}

});

public String handleReq_dsl(HttpServletRequest req) {

String meth=req.getParameter("method");

Handler hd=(Handler) mp.get(meth);

try {

return (String) hd.handleReq(req);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return meth;

}

11. iocx

bd.bind(DBX.class).toProvider(new Provider() {

@Override

public DBX get() {

DataSource ds = (DataSource) SpringUtil

.getBean("dataSource");

try {

return new DbutilX(ds.getConnection());

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return null;

}

});

12. 参考

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

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

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

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

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频


网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论
  • Atitit.ati dwr的原理and设计 attilax 小结 java php 版本
  • 专题推荐