ajax在DWR里实现
dwr:
是一个开源的项目,提供了更方便的调用向服务器端请求以及获取数据的方式。其功能远不止下面例子中所用到的,访问
http://getahead.ltd.uk/dwr/获得更详细的信息。
dwr实践:
环境准备
1、从
http://getahead.ltd.uk/dwr/download 下载dwr.war
2、从
http://tomcat.apache.org/ 下载tomcat 5.5.x版本;
3、如果没有jdk,请到java.sun.com下载 1.5.x版本;
4、解压dwr.war,我们需要dwr/WEB-INF目录下的web.xml,dwr.xml,/lib/dwr.jar三个文件
开发自己的web应用:
1、在tomat中创建自己的web应用startajax
2、编写文件 index.html:
<html>
<head>
<title> now start ajax </title>
<meta http-equiv="Content-Type" c/>
<script type="text/javascript" src="./dwr/interface/FirstAjax.js"></script>
<script type="text/javascript" src="./dwr/engine.js"></script>
<script type="text/javascript" src="./dwr/util.js" ></script>
<script type="text/javascript">
function sendMessage(msg)
{
alert ("123");
var msgvalue = document.getElementById(msg).value;
FirstAjax.getGreetings(loadMessage, msgvalue);
}
function loadMessage(data)
{
document.getElementById("message").innerHTML = data;
}
</script>
</head>
<body>
<h2> ajax is coming....</h2>
<table>
<tr>
<td>following...</td>
</tr>
<tr>
<td>
<input type="text" name="msg" size="30">
<input type="button" value="click me" name="tt" >
</td>
</tr>
<tr>
<td>
<div id="message"></div>
</td>
</tr>
</table>
</body>
</html>
3、将web.xml复制到startajax的WEB-INF目录下
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app id="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>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
</web-app>
4、在startajax/WEB-INF目录下创建lib目录,并将dwr.jar复制到此目录下;
5、编写com.ajax.start.FirstAjax.java 类 并编译
package com.ajax.start;
/**
* User: sunwj
* Date: 2005-11-10
*/
public class FirstAjax
{
public String getGreetings(String user){
return "hello {"+user+" } "+new java.util.Date();
}
}
6、创建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="FirstAjax" >
<param name="class" value="com.ajax.start.FirstAjax"/>
</create>
</allow>
</dwr>
部署文件:按以下目录
${catalina_home}webappsstartajax
index.html
WEB-INFweb.xml
WEB-INFdwr.xml
WEB-INFlibdwr.jar
WEB-INFclassescomajaxFirstAjax
启动tomcat 在地址栏键入
http://localhost:8080/startajax/
即可看到效果;
总结:自己曾在很早看过dwr的应用,但是没看明白,主要是卡在对回调函数的理解上。
这个例子完成之后,觉得这一切真的很简单。整个过程1个小时足够了。
看完觉得怎么样,欢迎大家讨论,若有疑问,请高手们来解答!
http://java.itpub.net/post/20968/188480