dwr前后端交互的一个完整demo(新手)
来源:互联网 发布:单片机gsm模块有哪些 编辑:程序博客网 时间:2024/06/06 03:41
DWR:就是一个可以让前台直接干后台活,调用后台类和方法的工具。想了解更详细请自行百度
这段时间项目中有用到这个技术,所以一边练习一遍操作,用dwr最基本的方法,实现了一个简单的dwr前后台交互。过程如下:
1、下载DWRjar包丢到lib里然后引入
2、配置dwr.xml文件
其中javascript中放的是在js中所用到的类名
param放对应java文件类名,如果没用到多个类就省事点取相同名字好了
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd"><dwr><allow><!-- 通过商品ID查询商品重量 --><create javascript="selectWeightById" creator="spring"><param name="beanName" value="selectWeightById"/></create></allow>
3、创建后台java文件
我这里后台用的是连接池,因为是练习挺简单的查询操作,所以没有分MVC了,别的连接数据库的方法都一样,用你熟悉的就好了。
public class WeightSelect extends JdbcTemplate{public int selectWeight (int proId,HttpServletRequest httpServletRequest){String sql ="select product_weight from product where product_id="+proId;return this.queryForInt(sql);}}
4、配置applicationContext.xml(可省略)
这个文件是Bean工厂,是spring框架的,你也可以不用这个而用注解注入啥的。
class放的是第三步中类的位置。
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"><bean id="selectWeightById" class="com.shoponline.daoimpl.front.iptables.WeightSelect" autowire="byName"></bean></beans>
5、前台
前台JS调用这个方法挺简单,唯一一点不同的是前台调用后需要给他一个回调函数,具体格式就是:类.方法(参数1,参数2,....,回调函数);
前后台的参数个数需要一致,不然会报参数错误,httpServletRequest不算参数。
引入的前两个JS文件是通用的,第三个JS是刚才配置的JS,有些教程说这个能自动引入,我的不好使,也不知道为啥,反正手动敲也一样就是了。
<script src='/dwr/engine.js'></script><script src='/dwr/util.js'></script><script type='text/javascript' src='/dwr/interface/selectWeightById.js'></script>var weight=0;selectWeightById.selectWeight(proId,{ callback:function(data){if (data!=0) {weight=data;}else {weignt=0;}}});alert(weight);
所需要的JAR包忘贴了,附上:
http://download.csdn.net/download/weixin_38894231/10045307
遇到个坑记录下,dwr的回调不一定是立刻执行。
如果回调函数中有赋值,而后立马又使用了这个值的话,很容易报空值。
所以一定要注意DWR的执行时间。
又遇到一个坑,dwr后台中的方法,不能重名,参数不同都不行。
如果重名,虽然前台能传到后台来并且执行没问题,但是后台传前台时回调函数不能执行。
- dwr前后端交互的一个完整demo(新手)
- 【开源.NET】 分享一个前后端分离的轻量级内容管理框架(第二篇前后端交互数据结构分析)
- 【开源.NET】 分享一个前后端分离的轻量级内容管理框架(第二篇前后端交互数据结构分析)
- 【开源.NET】 分享一个前后端分离的轻量级内容管理框架(第二篇前后端交互数据结构分析)
- 【开源.NET】 分享一个前后端分离的轻量级内容管理框架(第二篇前后端交互数据结构分析)
- 【开源.NET】 分享一个前后端分离的轻量级内容管理框架(第二篇前后端交互数据结构分析)
- 前后端交互的问题(php)
- 前端工程师的前后端交互指南
- 前后端交互中json的用法
- 理论:前后端交互的实现
- 实现前后端数据交互的方法
- 前后端是如何交互的
- 前后端数据交互(一)
- cocos2dx 前后端交互
- 前后端交互方式
- PHP前后端交互
- saiku前后端交互
- 前后端交互指南
- ORA-12541: TNS: 无监听程序 的解决办法
- Jzoj4841 平衡的子集
- SQL语句中----删除表数据drop、truncate和delete的用法
- Opencv--minEnclosingCircle源码--求最小包围圆的算法
- (机器学习基石)Machine Learning Foundations:Lecture 1
- dwr前后端交互的一个完整demo(新手)
- JS事件流(W3C与IE区别)
- 作用域
- install opencv and dlib in anaconda
- Java 异常
- Tensorflow-图像预处理
- 手把手教你Chrome浏览器安装Postman(含下载云盘链接)【转载】
- word中如何选中已经衬于文字下的形状
- hadoop-2.4.1伪分布式搭建出现的namenode无法启动的问题