`

Ajax之DWR实现页面时钟的无闪刷新

    博客分类:
  • Ajax
阅读更多

1.web工程中导入commons-logging.jar,dwr.jar.(version: 2.0.5,目前dwr官网中有3.0版本http://getahead.ltd.uk/dwr/)

2.通过xml(Basic Templates)选择create xml file from a DTD file中的-//GetAhead Limited//DTD Direct Web  Remoting 1.0//EN 选择dwr,完成

3.配置web.xml文件

DwrServlets是类org.directwebremoting.servlet.DwrServlet ,但uk.ltd.getahead.dwr.DWRServlet仍然可以用,但在DWR 1.x不得不使用后者

<servlet>
  		<servlet-name>dwr</servlet-name>
  		<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
  		<init-param>
  			<param-name>debug</param-name>
  			<param-value>true</param-value>
  		</init-param>
  		<init-param>
  			<param-name>activeReverseAjaxEnabled</param-name>
  			<param-value>true</param-value>
  		</init-param>
  	</servlet>
  	<servlet-mapping>
  		<servlet-name>dwr</servlet-name>
  		<url-pattern>/ajax/*</url-pattern>
  	</servlet-mapping>

 

 

4.建立线程实现时钟的类

public class ClockTool implements Runnable{

	private boolean flag = false;
	
	private ServerContext sc;
	public ClockTool(){
		//取得web应用的ServletContext
		ServletContext stx = WebContextFactory.get().getServletContext();
		//取得ServerContext 
		sc = ServerContextFactory.get(stx);
	}
	
	public synchronized void switcher(){
		flag = !flag;
		if(flag){
			System.out.println("####");
			new Thread(this).start();
		}
	}
	
	public void run(){
		while(flag){
			//主动退数据到客户端页面
			//通过ServerContext可以取得特定页面的会话(dwr专有)
			Collection sessions = sc.getScriptSessionsByPage("/myajax3/clock.jsp");
			Util pages = new Util(sessions);
			//针对此页面中的html元素进行设置
			pages.setValue("showTime", new Date().toString());
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			System.out.println(">>>>>>");
		}
		Collection sessions = sc.getScriptSessionsByPage("/myajax3/clock.jsp");
		Util pages = new Util(sessions);
		//针对此页面中的html元素进行设置
		pages.setValue("showTime", "*");
	}
}

 

5.dwr.xml文件中配置

<dwr>
	<allow>
		<create javascript="ClockTool" creator="new" scope="application">
			<param name="class" value="com.mypack.ClockTool"></param>
		</create>
	</allow>
</dwr>

 6.clock.jsp中

<html>
<head>
<script type="text/javascript" src="/myajax/ajax/interface/ClockTool.js"></script>
	<script type="text/javascript" src="/myajax/ajax/engine.js"></script>
	<script type="text/javascript" src="/myajax/ajax/util.js"></script>
	<script type="text/javascript">
		function showTime(){
			ClockTool.switcher();
		}
	</script>
  </head>
  
  <body onload="dwr.engine.setActiveReverseAjax(true)">
        <input type="button" onclick="showTime()" value="start/stop"/><br>
    <div id="showTime"></div>
  </body>
</html>

 

  • dwr.jar (490.6 KB)
  • 下载次数: 87
0
0
分享到:
评论
1 楼 asdtiang 2009-11-16  
兄弟:import语句贴出来吧,谢谢

相关推荐

    ajax_dwr实现页面无刷新加载

    **Ajax与DWR:实现页面无刷新加载** Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使得网页实现异步更新,提高...

    dwr实现ajax功能ajax+dwr

    `Ajax无刷新页的业务逻辑实现`可能探讨了如何在不刷新页面的情况下实现复杂的业务逻辑。`ajaxReg(解决中文问题)`可能解决了在使用Ajax注册功能时遇到的中文字符编码问题。 通过学习和实践这些资源,开发者可以深入...

    AJAX DWR框架实现部分刷新效果

    AJAX通过在后台与服务器进行异步通信,实现了页面的局部刷新。 DWR(Direct Web Remoting)是一个开源Java框架,它简化了AJAX在Java应用程序中的应用。DWR使得JavaScript和Java之间可以直接通信,就像它们是同一...

    Ajax(DWR实现例子)

    DWR(Direct Web Remoting)是一个开源JavaScript库,它使得在浏览器端可以直接调用服务器端的Java方法,实现了JavaScript与服务器端的双向通信,简化了Ajax应用的开发。 在DWR中,有三个主要的组件: 1. **DWR ...

    DWR 实现页面的无刷新分页

    DWR(Direct Web Remoting)是一种JavaScript库,它允许Web应用程序在客户端与服务器之间进行实时、异步的数据交换,从而实现页面的动态更新而无需完全刷新。在这个场景中,我们讨论的是如何结合DWR和MySQL数据库来...

    ajax dwr 框架实现二级联动下拉列表源码

    总结来说,利用Ajax和DWR框架实现的二级联动下拉列表,使得用户可以在不刷新页面的情况下完成多级选择,提升了用户体验。同时,DWR的使用简化了前后端交互的复杂性,使得开发更为高效。通过阅读和理解提供的源代码,...

    dwr.rar_dwr_dwr ajax_dwr 实现 联动 标签

    AJAX允许页面部分刷新,无需重新加载整个页面即可获取新数据。DWR通过提供一种透明的方式来调用服务器端的Java方法,使得AJAX开发更加直观。开发者可以像调用本地函数一样调用服务器上的方法,大大降低了AJAX的使用...

    AJAX-dwr实现增删改查的示例代码

    AJAX-dwr实现增删改查的示例代码是一个非常实用的学习资源,对于初学者来说,它可以帮助理解DWR的工作原理和配置方式,以及如何在实际项目中利用DWR进行动态数据交互。通过这个例子,开发者可以进一步掌握AJAX技术,...

    dwr ajax 局部刷新

    "dwr ajax 局部刷新"指的是使用DWR框架来更新网页的特定部分,而不是重新加载整个页面,提高用户体验。 **DWR基本概念:** 1. **CMT (Controlled Method Table)**:DWR的核心组件,负责管理服务器端的Java方法和...

    dwr、ajax 无刷新技术

    标题中的“dwr、ajax 无刷新技术”指的是一种Web开发技术,它结合了Direct Web Remoting (DWR) 和Asynchronous JavaScript and XML (AJAX) 来实现页面的无刷新更新。DWR是一个Java库,它允许在浏览器和服务器之间...

    dwr实现局部刷新

    DWR(Direct Web Remoting)是一种Java库,用于在Web应用程序中实现实时的、无需刷新页面的Ajax通信。它允许JavaScript与服务器端的Java代码进行交互,使得前端可以调用后端的方法,获取或更新数据,从而实现局部...

    ajax之dwr视频2.exe

    ajax之dwr视频2.exe ajax之dwr视频2.exe ajax之dwr视频2.exe

    dwr实现实时刷新实例

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

    ajax_dwr包

    在"ajax_dwr包"中,我们可以找到支持DWR实现AJAX特效的相关文件。这个包可能包含以下组件: 1. **DWR引擎**:这是DWR的核心部分,它处理JavaScript与服务器之间的通信。DWR Engine负责设置安全限制、管理会话、执行...

    ajax的DWR框架入门例子

    DWR(Direct Web Remoting)是一个开放源码的JavaScript库,它使得在...通过学习这个例子,你可以快速掌握DWR的基本用法,并将其应用到实际的AJAX项目中,提升用户体验,实现页面的无刷新更新和后台数据的实时交互。

    my_employee_study.rar_Employee Stud_ajax_dwr_dwr ajax_上传 Java

    通过AJAX和DWR,我们可以实现页面的无刷新交互,提升用户体验;而Java则是后端处理的核心,尤其在文件上传和下载功能的实现上扮演着重要角色。 【标签】"employee_stud ajax dwr dwr_ajax 上传_java" 指明了学习的...

    dwr实现的无刷新技术 dwr+jsp

    DWR (Direct Web Remoting) 是一种开源JavaScript库,它允许Web应用程序在客户端与服务器之间进行实时、异步的数据交换,从而实现页面无刷新的技术。DWR使得开发者能够轻松地在浏览器端调用服务器端的Java方法,就像...

    dwr框架实现无刷新分页

    - **AJAX(Asynchronous JavaScript and XML)**:DWR是基于AJAX技术实现的,通过异步方式与服务器通信,无需刷新整个页面。 - **Cascading Style Sheets (CSS)和JavaScript**:DWR利用这两种技术来更新页面的局部...

    AJAX_DWR框架

    AJAX允许在不刷新整个页面的情况下与服务器交换数据并更新部分网页内容,而DWR则提供了一个JavaScript库,使得JavaScript可以直接调用服务器端的Java方法,简化了AJAX应用的开发。 **AJAX基础** AJAX的核心在于创建...

    AJAX框架DWR简单应用

    6. **实时更新**:DWR的Reverse AJAX特性使得服务器能够主动推送数据到客户端,实现了双向通信,常用于聊天、股票报价等实时应用。 7. **易于集成**:DWR可以轻松地与现有的MVC框架(如Spring MVC)集成,同时支持...

Global site tag (gtag.js) - Google Analytics