zl程序教程

您现在的位置是:首页 >  其他

当前栏目

02dwr - dwr入门例子

入门 例子 DWR
2023-09-11 14:15:41 时间

1将 DWR 放入你的工程

1) 从官方网站下载 dwr.jar 包。然后将它放在你 webapp 的 WEB-INF/lib 目录下。
2) 将下载的 dwr-版本号-src.zip \java\org\directwebremoting 内的 engine.js 和 util.js 放入 WEB 应用
中,比如 js 文件夹下。

2 编辑配置文件

1.web.xml

以下几行代码必须被添加到 WEN-INF/web.xml 文件中。注意,要把<servlet>和其他<servlet>放在一起,
<servlet-mapping>要和其他<servlet-mapping>放在一起。

<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>

2. dwr.xml

在 web.xml 的同一目录下,创建 dwr.xml,并且将要被调用的 java 类写入其中。

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

3.编写 service

就像没有 dwr 一样,写一个简单类并加一个方法

package helloWorld;
public class Service {
public String sayHello(String yourName) {
	 //可以是访问数据库的复杂代码
	return "Hello World " + yourName;
	}
}

4.测试 DWR

将代码放入应用服务器(比如 Tomcat),启动。
然后在地址栏输入 http://localhost:8080/你的工程/dwr
在这里插入图片描述
然后点击 service,会看到刚才写的 sayHello()的方法,输入自己的名字然后点击“Execute”,如果发现
确实是正确的返回结果,说明测试通过了,可以进入下一步了。
在这里插入图片描述

5.编写一个 jsp
接下来最后一步就是创建一个 jsp 文件
1) 要引用几个 dwr 的 js,其中 engine.js 必须要,如果需要用到 dwr 提供的一些方便的工具要引用 util.js。
2) 然后还要引用 dwr 自动生成的 js,dwr/interface/service.js,注意 js 名字要和 dwr.xml 配置的一样。
3) js 里的 service.sayHello 和 java 类的那个有一点区别,多了个参数,用来 callback 返回的数据。

<%@ page language="java" pageEncoding="UTF-8"%>
<html>
 <head>
	 <title>My JSP 'first_dwr.jsp' starting page</title>
	<script type='text/javascript' src='js/util.js'></script>
	<script type='text/javascript' src='js/engine.js'></script>
	<script type='text/javascript' src='dwr/interface/service.js'>
	</script>
	<script type="text/javascript">
			function firstDwr(){
						service.sayHello("Jorwen",callBackHello);
			}
			function callBackHello(data){
						alert(data);
			}
	</script>
 </head>
 <body>
		 <input type="button" name="button" value="测试" onclick="firstDwr()">
 </body>
 </html>

地址栏输入 http://localhost:8080/你的工程/first_dwr.jsp,显示的结果如下:
在这里插入图片描述