开发者社区> 龙轩8023> 正文

dwr框架异步调用简单小例

简介:        DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架。可以轻松实现用js直接调用java方法。
+关注继续查看

       DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架。可以轻松实现用js直接调用java方法。


       通过一个小例子来演示一个dwr的基本使用:

       ①. 首先肯定要创建一个web project的,然后拷贝dwr.jar到WEB-INF\lib目录下

       ②. 修改web.xml文件,添加dwr servlet配置

  <servlet>
    <servlet-name>dwr-invoker</servlet-name>
    <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
    <init-param>
      <param-name>debug</param-name>
      <param-value>true</param-value>
    </init-param>
  </servlet>
  <servlet-mapping>
    <servlet-name>dwr-invoker</servlet-name>
    <url-pattern>/dwr/*</url-pattern>
  </servlet-mapping>

       ③. 写自己的java类

package com.tgb.dwr;

/**
 * dwr使用测试
 * @author Admin
 *
 */
public class DwrTest {

	public String hello(){
		return "Hello!";
	}

}

       ④. WEB-INF目录下创建dwr.xml配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">
<dwr>
  <allow>
  	<!-- 一个实例对应一个create节点 -->
    <create creator="new" javascript="T1">
      <param name="class" value="com.tgb.dwr.DwrTest"/>
    </create>
  </allow>
</dwr>


       ⑤. 在jsp中,添加js文件的引用

<script type="text/javascript" src="dwr/engine.js"></script>
<script type="text/javascript" src="dwr/util.js"></script>
<script type="text/javascript" src="dwr/interface/T1.js"></script>


       引用的第三个js文件T1.js,文件名需跟dwr.xml配置文件中的javascript属性值相同。


       ⑥. 在jsp中写调用java方法的js代码

<script type="text/javascript">
function test1(){
	
	T1.hello(
		function(data){
			alert(data);
		}
	);
}
</script>

      上面的js代码,T1是跟dwr.xml配置文件中定义的javascript属性值相同。hello测试跟java类中的方法名一样,而且区分大小写。大小写不一致,控制台会提示:has no method 'xxx'的错误。


       最后给一个测试的效果吧:


       dwr提供js直接调用java方法的功能,真心赶脚不错,虽然自己可以写异步请求,但是如果配置一下就可以使用,谁还会去费那些力气。赞一个吧。


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
调用第三方接口遇到的 13 大坑
调用第三方接口遇到的 13 大坑
9 0
uniapp 请求方法封装防止竞态问题
uniapp 请求方法封装防止竞态问题
76 0
协程搬运工-组合挂起函数
协程搬运工-组合挂起函数
42 0
关于函数计算异步调用异常的处理方法
介绍一下如何处理异步调用函数异常的问题
764 0
小程序同步异步
小程序同步异步
99 0
利用函数指针实现C的回调函数,实现调用者和底层驱动的解耦 第二种方式
利用函数指针实现C的回调函数,实现调用者和底层驱动的解耦 第二种方式
80 0
Java函数调用重试的正确姿势
Java函数调用重试的正确姿势
139 0
使用Lambda表达式与回调函数简化缓存操作
1. 缓存操作流程 对一些写低频,读高频的数据操作我们经常需要用到缓存,通常的缓存操作流程如下: 2. 通常的缓存处理方式 通常我们对上面流程的实现,伪代码如下: public Object getObject(String key) { //1.
1267 0
同步调用与异步调用
同步调用与异步调用 一:什么是同步调用与异步调用 定义:1:同步就是整个处理过程顺序执行,当各个过程都执行完毕,并返回结果。2:异步调用则是只是发送了调用的指令,调用者无需等待被调用的方法完全执行完毕;而是继续执行下面的流程。
2305 0
+关注
龙轩8023
熟悉javaee开发,有多年支付领域的开发经验。关注开源~ httpclientUtil开源项目创建者。https://github.com/Arronlong
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
fibjs 模块重构从回调到协程--陈垒
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载