`
aokunsang
  • 浏览: 816098 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

DWR的半天学习(简单实例)

    博客分类:
  • dwr
阅读更多

闲来没事,对dwr框架进行了简单的学习,小总结一下,以备忘、
首先就是导包了,dwr.jar以及commons-logging-1.1.jar[见附件]

接下来需要对web.xml进行配置;

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

 记不住uk.ltd.getahead.dwr.DWRServlet没问题,打开dwr.jar包你就会看到它了。

首先建立一个JavaBean,

public class PersonBean {
	private String name;
	private int age;
	private String gender;
	public PersonBean(){}
	public PersonBean(String name,int age,String gender){
		this.name = name;
		this.age = age;
		this.gender = gender;
	}
        setter和getter。。。

 再建立一个service类,写了简单的三个方法,

public class DwrServer {

	public List<PersonBean> getAllPerson(){
		ArrayList<PersonBean> persons = new ArrayList<PersonBean>();
		PersonBean p1 = new PersonBean("Lucy",12,"女");
		PersonBean p2 = new PersonBean("Jam",13,"男");
		persons.add(p1);persons.add(p2);
		return persons;
	}
	public String print(PersonBean bean){
		return bean.getName()+"的年龄是:"+String.valueOf(bean.getAge())+",性别是:"+bean.getGender();
	}
	
	public int getLength(List list){
		for(int i=0;i<list.size();i++){
			System.out.println(list.get(i) instanceof String);
		}
		return list.size();
	}
}

 然后再WEB-INF中建立一个dwr.xml【xml名称固定不变】,没有dtd文件怎么办? 不用着急,把你的dwr.jar包打开,在org.directwebremoting包里面,你会看到默认的dwr.xml和dwr10.dtd、dwr20.dtd等等,你可以直接复制该包里的dwr.xml中的头到你的dwr.xml中,也可以根据dtd建立dwr.xml。

接下来完善dwr.xml,

<dwr>
	<allow>
	   <convert match="com.aokunsang.dwr.bean.PersonBean" converter="bean"></convert>
	   <create javascript="getPerson" creator="new">
	   	  <param name="class" value="com.aokunsang.dwr.server.DwrServer"></param>
	      <include method="print"/>
	      <include method="getLength"/>
	      <include method="getAllPerson"/>
	   </create>
	</allow>
	<signatures>
		<![CDATA[
			import java.util.List;
			getPerson.getLength(List<String> list);
		]]>
	</signatures>
</dwr>

 最后,写一个jsp或者html页面,我就直接使用Myeclipse生成的index.jsp了。首先得导入两个js,当然如果你想使用dwr的util工具包,你还要导入util.js、

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<script type="text/javascript" src="<%=path%>

/dwr/interface/getPerson.js"></script>
<script type="text/javascript" src="<%=path%>

/dwr/engine.js"></script>
<style type="text/css">
 	#newTable{width:50%;margin:10px 0;text-align:center}
 	th{font-size:20px;color:red;font-family:华文行楷}
 	table,th,td{border:1px solid #10FF15;border-collapse:collapse}
 </style>

    js的路径怎么设置,很模糊,请高手给小弟提供宝贵意见,谢谢。当然,我这样写也没有问题,太过于麻烦了而已、

   <table id="newTable">
     	<tr>
     		<th>姓名</th>
     		<th>年龄</th>
     		<th>性别</th>
     	</tr>
     </table>
  </body>
  
  <script type="text/javascript">
	window.onload = function(){
		//DWREngine.beginBatch();
		getCount();
		printPerson();
		getPerson.getAllPerson(showPerson);
		//DWREngine.endBatch();
	}
	function showPerson(data){
		var _table = document.getElementById("newTable");
		for(var i=0;i<data.length;i++){
			var _row = _table.insertRow(_table.rows.length);
			_row.insertCell(0).appendChild(document.createTextNode(data[i].name));
			_row.insertCell(1).appendChild(document.createTextNode(data[i].age));
			_row.insertCell(2).appendChild(document.createTextNode(data[i].gender));
		}
	}
	function printPerson(){
		person = {};
		person.name = "jack";
		person.age = "12";
		person.gender = "男";
		getPerson.print(person,{callback:function(data){alert(data);}})
	}
	function getCount(){
		var arr = new Array();
		arr[0]=12;
		arr[1]=11;
		arr[2]=14;
		getPerson.getLength(arr,{callback:function(data){alert(data);}})
	}
	
  </script>

 ok,一切就绪,打开你的浏览器试试吧,输入http://localhost:8080/dwrTest/index.jsp,你就会看到想要的结果,截图如附件a.jpg。关于dwr的原理以及它的配置文件详情等等,待续....

  • dwr.jar (496.4 KB)
  • 下载次数: 6
  • 大小: 13.4 KB
分享到:
评论

相关推荐

    dwr推技术官方实例

    在深入学习这个实例时,你需要了解以下几个关键点: - **DWR配置**:设置DWR的Context配置文件,定义允许客户端调用的服务器端方法。 - **JavaScript API**:理解DWR提供的JavaScript接口,如`DWREngine`、`...

    一个简单DWR学习二级菜单实例

    一个简单DWR学习二级菜单实例一个简单DWR学习二级菜单实例一个简单DWR学习二级菜单实例一个简单DWR学习二级菜单实例一个简单DWR学习二级菜单实例一个简单DWR学习二级菜单实例一个简单DWR学习二级菜单实例

    dwr.demo dwr实例

    通过分析和学习这个"**dwr.demo dwr实例**",开发者可以更好地理解DWR的工作原理,如何在实际项目中部署DWR,以及如何利用其功能来提升用户体验,实现更流畅、高效的Web应用。这个实例将涵盖从基础的API使用到更复杂...

    dwr+spring实例

    综上所述,"DWRSpring实例"是一个很好的学习资源,可以帮助我们理解DWR如何与Spring框架集成,以及如何在实际项目中实现动态的、基于Ajax的Web应用。通过研究和实践这个例子,开发者可以提升自己在构建富互联网应用...

    springMVC+dwr技术实现消息推送实例

    通过这个实例,你可以了解到如何利用SpringMVC处理业务逻辑,以及如何借助DWR实现从服务器到客户端的实时消息推送。理解这两个技术的结合,对于构建现代、交互性强的Web应用是非常有价值的。同时,这也是对传统HTTP...

    DWR的学习资料,DWR学习必备

    通过这些PPT,你可以系统地学习DWR,并通过实例加深理解。 DWR与界面开发.rar:这个文件可能是一个包含更多示例代码或教程的压缩包,专门针对使用DWR进行界面开发。可能包含了一些实战项目的源代码,帮助你学习如何...

    dwr 实例 Dwr实例

    自己写的dwr实例。方便大家学习,包括jar文件,希望对大家有帮助

    DWR 开发实例是用来学习DWR的一个实例

    这个"DWR开发实例"是一个专门为学习DWR技术准备的实践项目,旨在帮助开发者理解DWR的核心功能和使用方法。 在DWR中,主要涉及以下几个关键概念: 1. **Reverse Ajax**:DWR的核心特性之一是实现了Reverse Ajax,即...

    dwr经典实例(9个常用实例)

    DWR (Direct Web Remoting) 是一个开源JavaScript库,它允许Web应用程序与服务器端Java...通过学习和实践这些实例,开发者能够深入理解DWR的工作原理,并能将其应用于实际项目中,提高Web应用的用户体验和开发效率。

    dwr实例dwr实例dwr实例

    dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr...

    dwr中文文档和实例.rar

    "dwr中文文档和实例.rar"包含了对DWR全面的中文解释和实践案例,对于想要深入理解和使用DWR的人来说,是一份极其宝贵的学习资源。 首先,DWR中文文档会详细介绍DWR的基本概念和工作原理。DWR的核心功能是提供了一个...

    dwr学习实例+dwr完整包(简单登陆,完整版,下载可直接跑)

    在本实例中,我们看到的是一个基于DWR的简单登录系统,它包含了一个完整的包,下载后可以直接运行,这对于初学者来说是极好的学习资源。 这个实例主要展示了以下几个知识点: 1. **DWR的基本概念**:DWR的核心是它...

    dwr完整资源=dwr包+dwr实例

    将资源放到tomcat中,运行tomcat以后自动解压成文件夹。里面包含dwr需要的jar包。初学者可以根据里面的实例学习。

    DWR做的简单登录实例

    这个实例是学习DWR和Ajax基础的一个好起点,可以帮助开发者理解如何在不刷新页面的情况下处理用户输入并提供即时反馈。对于初学者,可以在此基础上扩展,如添加数据库支持、错误处理和更复杂的业务逻辑。

    dwr 实现推技术 实例

    通过这个简单的点对点聊天实例,我们可以深入理解DWR如何实现反向Ajax和推送技术,以及如何在实际项目中应用。同时,这也是一个很好的起点,可以进一步扩展到群聊、文件传输等更复杂的Web交互场景。在实际开发中,...

    dwr实现实时刷新实例

    在这个“dwr实现实时刷新实例”中,我们将深入探讨DWR如何实现无页面跳动的刷新机制,并关注线程管理和数据库更新。 首先,DWR的核心功能是提供异步通信,使得前端可以实时获取服务器端的变化,而无需刷新整个页面...

    DWR学习资料

    DWR学习资料 :DWR 3.0 上传文件.txt DWR3.0反向Ajax示例.txt DWR3.0...多人聊天室.doc 反向Ajax技术实例.txt 基于DWR反向AJAX的Web监控系统.doc 深入学习DWR3.0.txt 实战dwr.doc 使用Jetty和DWR创建伸缩性Comet程序.txt

    DWR入门教程及实例(含源代码)

    本教程“DWR入门教程及实例(含源代码)”旨在帮助初学者快速掌握DWR的基本概念和使用方法。教程内容可能包括以下几个核心知识点: 1. **DWR概述**:讲解DWR的基本理念,如何通过HTTP协议实现JavaScript与Java之间...

    DWR消息推送简单实例

    DWR(Direct Web Remoting)是一种Java技术,用于在Web应用程序中实现实时的双向通信。它允许JavaScript在客户端与服务器端之间...通过学习这个实例,开发者可以更好地理解如何在实际项目中利用DWR实现高效的双向通信。

Global site tag (gtag.js) - Google Analytics