第一篇 第一个hello world
“DWR是AJAX的JAVA实现”。
现在就来配置DWR,写出第一个Hello World。
1.
先安装DWR的jar包(我们以dwr2.0为例)
下载地址:http://getahead.org/dwr/download
把dwr.jar包放到你的项目里的webapp/WEB-INF/lib下面。
2.
配置WEB-INF/web.xml
在web.xml文件里添加如下内容:
PS:如果你下载的不是dwr2.0的版本,以上内容应该为
3.
写一个非常简单的类
比如:
4.
配置dwr.xml
在webapp/WEB-INF(和web.xml文件同级的目录)下新建一个xml文件,名称为dwr。
编辑dwr.xml,添加如下内容:
PS:<allow> 表示允许哪些类可以被访问,<create>表示在前台的jsp页面中能远程调用的JavaBean的javascript的类名和创建方法,<param>表示javascript类能调用的JavaBean是哪个。
如上面我们用new的方法来创建一个javascript类,名称为MyHello,这个javascript类能在前台的jsp页面中调用dao包中的Hello类里的方法。
5.测试
新建一个jsp页面,内容如下
PS:
其中
当点击按钮时调用hello(),MyHello.sayHello(helloBack);就是在异步调用Hello类中的sayHello()方法,然后将结果交给helloBack函数来处理,在这个函数中,返回的字符串就保存在data变量中,于是我们通过dwr提供的一个工具dwr.util.setValue()向<div id="show"> </div> 中添加内容。
结束语:
这只是一个hello world程序,简单的向大家介绍一下dwr的用法,下篇文章将向大家详细介绍。
“DWR是AJAX的JAVA实现”。
现在就来配置DWR,写出第一个Hello World。
1.
先安装DWR的jar包(我们以dwr2.0为例)
下载地址:http://getahead.org/dwr/download
把dwr.jar包放到你的项目里的webapp/WEB-INF/lib下面。
2.
配置WEB-INF/web.xml
在web.xml文件里添加如下内容:
<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>
PS:如果你下载的不是dwr2.0的版本,以上内容应该为
<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>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
3.
写一个非常简单的类
比如:
package dao;
public class Hello {
public String sayHello(){
return "hello world!";
}
}
4.
配置dwr.xml
在webapp/WEB-INF(和web.xml文件同级的目录)下新建一个xml文件,名称为dwr。
编辑dwr.xml,添加如下内容:
<!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="MyHello">
<param name="class" value="dao.Hello"/>
</create>
</allow>
</dwr>
PS:<allow> 表示允许哪些类可以被访问,<create>表示在前台的jsp页面中能远程调用的JavaBean的javascript的类名和创建方法,<param>表示javascript类能调用的JavaBean是哪个。
如上面我们用new的方法来创建一个javascript类,名称为MyHello,这个javascript类能在前台的jsp页面中调用dao包中的Hello类里的方法。
5.测试
新建一个jsp页面,内容如下
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--<link rel="stylesheet" type="text/css" href="styles.css">-->
<script src="dwr/interface/MyHello.js"></script>
<script src="dwr/util.js"></script>
<script src="dwr/engine.js"></script>
<script type="text/javascript">
function hello()
{
MyHello.sayHello(helloBack);
}
function helloBack(data)
{
dwr.util.setValue("show",data);
}
</script>
</head>
<body>
<input type="button" value="我要向世界问好!" onclick="hello()">
<div id="show">这里将要显示出hello world,这是通过dwr调用Hello类中的sayHello()方法返回的结果!</div>
</body>
</html>
PS:
其中
<script src="dwr/interface/MyHello.js"></script>
<script src="dwr/util.js"></script>
<script src="dwr/engine.js"></script>
是加载一些必要的javascript,MyHello.js就是你能够远程调用的javascript。
<script type="text/javascript">
function hello()
{
MyHello.sayHello(helloBack);
}
function helloBack(data)
{
dwr.util.setValue("show",data);
}
</script>
当点击按钮时调用hello(),MyHello.sayHello(helloBack);就是在异步调用Hello类中的sayHello()方法,然后将结果交给helloBack函数来处理,在这个函数中,返回的字符串就保存在data变量中,于是我们通过dwr提供的一个工具dwr.util.setValue()向<div id="show"> </div> 中添加内容。
结束语:
这只是一个hello world程序,简单的向大家介绍一下dwr的用法,下篇文章将向大家详细介绍。