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 dwr 2

    5ApiHandler的标准化method 2

    6Invok..  Dwr.exe() 2

    7api.jsp 3

    8prj.Wxb distribu   api.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还是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 版本

     

  • 相关阅读:
    遥感图像增强方法应用
    如何从优秀的程序员成为伟大的程序员(2)
    略论提问的智慧
    从我的一篇技术文章说开去
    《虎胆龙威4》观后感
    Microsoft Platform SDK 选择
    ‘OpenThread”: undeclared identifier 问题的解决之道
    Java Web整合开发读书笔记
    Python:监控键盘输入、鼠标操作,并将捕获到的信息记录到文件中
    Getting Started with HTTPClient
  • 原文地址:https://www.cnblogs.com/attilax/p/5963640.html
Copyright © 2011-2022 走看看