Java的Ajax框架:Dwr 的 HelloWorld 程序

Dwr 是什么?

DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站.它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样。

 

Dwr跟Jquery那样的纯JavaScript不太一样...他后台的部分是Java实现的

 

今天就来实现一下Dwr的HelloWorld程序...很简单的

 

引入Dwr的Jar包 可以去官方网站上去下载

 

创建一个普通的类,添加一个普通的方法,注意必须是public的

package dwr.test.helloworld;

public class UserService {
	public String hellodwr(){
		System.out.println("UserService.hellodwr() is now invoked.......");
		return "方法被调用了,我是返回值!";
	}
}

 

修改web.xml 配置dwr拦截请求

	<servlet>
		<servlet-name>dwr-invoker</servlet-name>
		<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
		<init-param>
			<param-name>debug</param-name>
			<param-value>true</param-value>
		</init-param>
		<init-param>
			<param-name>crossDomainSessionSecurity</param-name>
			<param-value>false</param-value>
		</init-param>
	</servlet>
	<servlet-mapping>
		<servlet-name>dwr-invoker</servlet-name>
		<url-pattern>/dwr/*</url-pattern>
	</servlet-mapping>

 

创建类的映射文件,在web-info下建立dwr.xml

 

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

 

 

好了,现在部署你的web项目,打开你的项目的地址加上/dwr 就可以跳转到一个dwr默认为你创建好的页面了

 

这个页面上会列出你配置好的类,点击进去可以调用类中的各个方法 并可以获取到返回值

 

下面我们自己来写一个静态页面,完成方法的调用

 

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<title>Dwr HelloWorld</title>
		<script type='text/javascript' src='/test/dwr/interface/us.js'></script>
		<script type='text/javascript' src='/test/dwr/engine.js'></script>
		<script type='text/javascript' src='/test/dwr/util.js'></script>
		<script type="text/javascript">
			var dwr_callback = function(data){
				alert(data);
			}
		</script>
	</head>
	<body>
		<input type="button" value="invoke" onclick="us.hellodwr(dwr_callback)" />
	</body>
</html>

 

 

前面几个js是由dwr动态生成的,方法的调用可以像调用在java中一样  方法的返回值会传递给回调函数,回调函数要自己来写的

 

 

恩,就是这样,这是一个简单的dwr的helloworld程序,提供给新手参考

 

还有更复杂的,比如数组类型的参数或者返回值的方法的映射 甚至自定义类型的返回值的方法的映射,可以在网上查找相关资料

你可能感兴趣的:(JavaScript,java,框架,Ajax,DWR)