zoukankan      html  css  js  c++  java
  • Atitit.ati dwr的原理and设计 attilax 总结 java php 版本

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

     

     

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

    2DWR工作原理1

    3Dwr的架构2

    4自定义dwr还是native dwr2

    5ApiHandler的标准化method2

    6Invok..  Dwr.exe()2

    7api.jsp3

    8prj.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:1466519819@qq.com

    转载请注明来源: http://www.cnblogs.com/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

     

    <%@page import="com.attilax.api.HandlerChain"%>

    <%@ page contentType="text/htmlcharset=utf-8" language="java" import="java.sql.*"   %>

    <%@page import="com.attilax.api.HandlerChain"%>

    <%@page import="com.attilax.api.ApiHandler"%>

    <%@page import="aaaCfg.IocX"%>

    <%

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

     

    {

     

     }

     

    %>

    <%

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

     

    %>

     

    <%=ax.handleReq_dsl(request)%>

     

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

    10. ApiHandler

     

    @Inject

    DBX dbx;

     

    public ApiHandler() {

     

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

     

    @Override

    public Object handleReq(Object argthrows 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<DBX>() {

     

    @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 版本

     

  • 相关阅读:
    结构体 和 类 的区别
    运算符重载
    迭代器
    HttpClient 同时上传多个文件及参数, 同时利用 Web Api 接收
    JS 上传图片时实现预览
    web api 如何通过接收文件流的方式,接收客户端及前端上传的文件
    同时上传参数及图片到 Web Api
    jsp jstl标签库核心标签
    jsp jstl的使用
    jsp 简单标签开发
  • 原文地址:https://www.cnblogs.com/attilax/p/4745319.html
Copyright © 2011-2022 走看看