开发者社区> 龙轩8023> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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方法的功能,真心赶脚不错,虽然自己可以写异步请求,但是如果配置一下就可以使用,谁还会去费那些力气。赞一个吧。


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

相关文章
Create Your Own IM Social App with MQTT
Message Queue Telemetry Transport (MQTT) is an instant communication protocol based on the publish-subscribe pattern.
2542 0
程序猿日记S01E05-Do one thing and do it well
"Do one thing and do it well." ### 绝对优势 随着互联网技术的发展,程序猿的岗位也越来越细分。比如企业在招聘的时候,会区分前端开发岗、后端开发岗。不同岗位的程序猿,在各自领域的专精程度都是有一定优势的,但是也不排除那种很牛逼的程序猿,前后端都很牛逼,就是大家经常提到的全栈程序猿(coding方面的全栈)。举个例子,Sophia和Antonio都会写前
1530 0
JavaScript后台代码操作HTML TABLE的方法
原文:JavaScript后台代码操作HTML TABLE的方法 var rowNum = 0,fileNum = 0; //行号与列号 var oNewRow; //定义插入行对象 var oNewCell1,oNewCell2; //定义插入列对象 var fileNum = 1; functi...
545 0
Silverlight DeepZoom应用:商品显微镜
Silverlight DeepZoom应用:商品显微镜 近日用Silverlight的DeepZoom技术做了一个简单的应用“商品显微镜”,在DeepZoom这个概念堆出的时候就感觉用这个来做商品的展示一定会非常的棒!能把一些精美的商品最最细节的区域都看的十分的清楚。
945 0
+关注
龙轩8023
熟悉javaee开发,有多年支付领域的开发经验。关注开源~ httpclientUtil开源项目创建者。https://github.com/Arronlong
214
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载