DWR第一个示例

DWR是一种Ajax实现,他就是封装了Ajax基础代码的一个框架。

下面首先看一个DWR的小示例,看一下DWR的具体功能。

使用DWR框架第一步也是先导入相应的jar包。首先导入dwr.jar。然后导入他依赖的jar包,包括log4j.jar、common-logging.jar等

然后再web.xml中进行配置。

<servlet>
        <servlet-name>dwr_servlet</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_servlet</servlet-name>
        <url-pattern>/dwr/*</url-pattern>
    </servlet-mapping>
然后再与web.xml的同级目录下新建dwr.xml并且添加以下内容

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" 
	"http://getahead.org/dwr/dwr30.dtd">
<dwr>
	<allow>
		<create javascript="service" creator="new">
			<param name="class" value="dwr.Service"/>
		</create>
	</allow>
</dwr>

关于该XML中的内容以及写法不进行详细解释,这里只是一个演示实例,进行一个简单的解释。

dwr标签是这个xml文件的顶级标签,相关的属性标签全都是这个标签的子标签。allow标签使DWR能够找到相应的java类。

在allow类中首先创建一个新的javascript,这个javascript的名字叫做service,create=“new”表示创建方式是new方式初始化,通过new初始化的类在param标签指定生成的类。然后在看相应的类,这个类在包dwr下,类名叫做Service。

package dwr;

public class Service {
	public String sayHello(String name){
		return "Hello "+name;
	}
}
在这个类中有个sayHello方法,这个方法返回一个字符串类型结果。

然后再看在JSP页面中如何调用,首先在JSP中有个按钮,当点击按钮后触发相应的javascript函数。

<body>
    <input type="button" value="DWR测试" οnclick="firstDwr()"/>
  </body>
然后再看javascript代码:

	<script type="text/javascript" src="dwr/util.js"></script>
	<script type="text/javascript" src="dwr/engine.js"></script>
	<script type="text/javascript" src="dwr/interface/service.js"></script>
	<script type="text/javascript">
		function firstDwr(){
			service.sayHello("admin",callBackHello);
		}
		function callBackHello(data){
			alert(data);
		}
	</script>

注意在使用前必须导入util.js和engine.js,关于这两个js文件这里不做详细介绍。

然后将自己写的类映射成的javascript引入。这里的src的地址中"dwr/interface"是固定的,后面的service.js是你生成的javascript的名称,也就是在dwr.xml文件中使用create标签生成的名称。

这样一个简单的DWR应用程序搭建完成了。当点击JSP页面中的按钮时,会弹出一个对话框,对话框的内容是“Hello admin";


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值