首页 > 代码库 > DWR第一个示例

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=http://www.mamicode.com/"dwr.Service"/>>

关于该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=http://www.mamicode.com/"DWR测试" onclick="firstDwr()"/>>然后再看javascript代码:

	<script type="text/javascript" src=http://www.mamicode.com/"dwr/util.js"></script>>
注意在使用前必须导入util.js和engine.js,关于这两个js文件这里不做详细介绍。

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

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


DWR第一个示例