DWR例子
需积分: 0 161 浏览量
更新于2008-04-17
收藏 437KB RAR 举报
Direct Web Remoting (DWR) 是一个开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,实现动态的Web应用。DWR简化了Ajax(Asynchronous JavaScript and XML)开发,使得前端开发者可以更方便地调用服务器上的方法,而无需处理复杂的HTTP请求和响应细节。下面我们将深入探讨DWR的基本概念、工作原理以及如何通过提供的例子进行学习。
1. DWR基础概念:
- **远程方法调用(RMI)**:DWR的核心功能是实现了浏览器中的JavaScript代码能够像调用本地函数一样调用服务器端的Java方法,这种机制类似于远程方法调用。
- **逆向Ajax**:DWR利用Ajax技术实现了从客户端到服务器的双向通信,即不仅服务器可以向客户端推送数据,客户端也可以主动发起请求获取数据。
- **安全机制**:DWR提供了CSRF(跨站请求伪造)防护和白名单机制,确保只有授权的JavaScript可以访问服务器资源。
2. DWR工作流程:
- **配置阶段**:在服务器端,你需要在web.xml中配置DWR的Servlet,以及在应用上下文中定义允许访问的Java类和方法。
- **编译阶段**:DWR会自动生成JavaScript接口,使得客户端可以直接调用这些接口来执行服务器端的方法。
- **运行时**:当JavaScript调用服务器方法时,DWR会通过HTTP POST请求发送调用信息,服务器接收到请求后执行相应的方法,然后将结果返回给客户端。
3. "DWR案例"学习指南:
- **环境搭建**:你需要在项目中引入DWR的依赖库,并配置web.xml,设置DWR的初始化参数。
- **创建Java类和方法**:编写一个简单的Java类,包含一些公共方法供客户端调用。
- **暴露Java方法**:在DWR的配置文件中,指定这个Java类和可访问的方法。
- **生成JavaScript接口**:DWR会自动根据配置生成对应的JavaScript文件,包含了对服务器方法的调用接口。
- **编写HTML/JavaScript**:在网页中引入DWR生成的JavaScript文件,然后就可以在JavaScript中调用服务器的方法。
- **测试运行**:运行网页,通过浏览器的开发者工具查看网络请求,确认DWR调用是否成功。
4. 实战练习:
- **基本调用**:尝试实现一个简单的页面,通过DWR调用服务器的“Hello, World!”方法,展示Ajax的异步通信效果。
- **数据交互**:创建一个表格,通过DWR动态获取服务器的数据并更新表格内容。
- **事件处理**:结合用户交互事件,如按钮点击,调用DWR方法获取或更新服务器数据。
- **安全考虑**:了解并实践DWR的安全配置,例如设置白名单,防止非法调用。
通过上述步骤,初学者可以逐步掌握DWR的基本使用和工作原理。不断地练习和探索,你将能够熟练地利用DWR构建高效、交互性强的Web应用。在实践中,可以参考"DWR案例"提供的示例代码,一步步学习和理解DWR的各个功能和应用场景。

JavaOfChina
- 粉丝: 0
最新资源
- 【三菱PLC例程】-x62w万能铣床.zip
- 【三菱PLC例程】-奥菱达8层货梯.zip
- 【三菱PLC例程】-八层以下货梯通用程序(奥菱达).zip
- 【三菱PLC例程】-YX细伸拉丝机三菱FX PLC程序(有注解)张力控制与传统的指拔开关不一样.zip
- 【三菱PLC例程】-八点间歇时间控制.zip
- 【三菱PLC例程】-八路抢答器.zip
- 【三菱PLC例程】-八路抢答器fx1s-plc设计.zip
- 【三菱PLC例程】-半自动丝网印刷机.zip
- 【三菱PLC例程】-包装机.zip
- 【三菱PLC例程】-包装机三菱PLC程序.zip
- 【三菱PLC例程】-宝钢电梯程序带注释.zip
- 【三菱PLC例程】-北京现代发动机传送线有自动仓库.zip
- 【三菱PLC例程】-薄膜卷取机小日本写的.zip
- 【三菱PLC例程】-本人某摩擦材料厂压机液压系统设计的程序.zip
- 【三菱PLC例程】-比较简单仪表车改造程序,可供初学者学习.zip
- 【三菱PLC例程】-本壓壓焊機.zip