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

dwr定时获取后台数据

阅读更多

1.在JSP页面加入展示代码:
 新消息<input type="text" id="serverResponse" size="2"/>

   
2.新建一个JAVA类:

package com.msg;

public class MsgDeal {
	
	public int getMsg(int uid){
		MsgDao msgdao = new MsgDao();
		return msgdao.getMsg(uid);//从数据库获取某个用户的新消息条数,这里自行实现即可
	}

}

 

 

3.在WEB-INF下新建一个dwr.xml文件,配置JAVA类

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE 
	dwr 
	PUBLIC 
	"-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" 
	"http://getahead.org/dwr/dwr30.dtd">
<dwr>
	<allow>
		<create creator="new" javascript="Msgdeal">
			<param name="class" value="com.msg.MsgDeal"/>
		</create>
	</allow>
</dwr>

 

 

说明:1.x使用:<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://getahead.org/dwr/dwr10.dtd">
      2.x使用:<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">
   3.x使用:<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" "http://getahead.org/dwr/dwr30.dtd">
  
4.在web.xml中配置dwr:

<!-- dwr configuration -->	
<servlet>
  	<display-name>DWR Servlet</display-name>
  	<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>

  
说明:
如果版本是1.x,那servlet-class是用:uk.ltd.getahead.dwr.DWRServlet
2.x,3.x使用:org.directwebremoting.servlet.DwrServlet
 
5.在页面配置最后的脚本:

<script type="text/javascript" src="dwr/engine.js"></script>
<script type="text/javascript" src="dwr/util.js"></script>
<script type="text/javascript" src="dwr/interface/Msgdeal.js"></script> //Msgdeal的名字是dwr.xml中配置的名字

<script type="text/javascript">
function Test1(){    
       var _data = "";
       dwr.engine.setAsync(false);//设置同步
     Msgdeal.getMsg(1,function(data){_data = data;});//调用java中MsgDeal类的消息处理方法,这里的1是手动测试加入的,模拟的当前用户ID为1
     dwr.engine.setAsync(true); //设置到初始状态
     document.getElementById("serverResponse").value= _data;   //设置获取的值 
}   

function init(){
	Test1();//先加载一次
	var time = 5000*10; //5*10秒
	window.setInterval('Test1()',time); //关于setInterval的解释参见:http://zhoujingxian.iteye.com/blog/788719     
}
</script>

 

6.加入dwr.jar包(如果是2.0以上的版本需要同时导入commons-logging-1.0.4.jar和log4j-1.2.12.jar以上版本的包)


 

分享到:
评论
1 楼 xinke0802 2014-07-02  
您好~~关于实时读取数据的想请教一下~~为啥数据库发生变化之后,读出的数据还是不变的?

相关推荐

    dwr3.x demo 实例 例子

    2. **轮询(Polling)**:在实时性要求较高的应用中,DWR支持定时轮询机制,即客户端定期向服务器发送请求,获取最新的数据。这种机制在没有WebSockets等实时通信技术时,是实现服务器数据即时更新的常见手段。 3. ...

    用DWR模拟控制台实现日志主动输出到JSP页面

    这种交互方式使得前端可以实时获取到后端的数据,而不必刷新整个页面。 实现这个功能的第一步是设置DWR的基本环境。这包括在项目中添加DWR的依赖库,配置DWR的Context配置文件(通常为dwr.xml),以及创建DWR的Java...

    Ajax+DWR结合的模仿邮箱中的自动保存

    它通过JavaScript创建XMLHttpRequest对象,向后台发送请求,获取响应数据,并在前端更新特定部分。这样,用户可以继续在其他部分操作,而不受后台处理的影响,提升了交互性。 DWR则是一种Java库,它简化了...

    DWR原理及中文文档

    2. **异步数据更新**:比如,可以创建一个动态表格,前端定时调用服务器获取最新数据,更新表格内容,实现无刷新的数据刷新。 3. **文件上传**:DWR支持AJAX方式的文件上传,前端选择文件后,后台处理文件上传,同时...

    dwr 2.0(reverse ajax)实现推的web IM例子

    在实现Reverse Ajax时,我们通常会创建一个后台线程或者定时任务,周期性地检查是否有新消息需要发送给客户端。一旦发现有新消息,DWR会利用HTTP长时间连接或者Comet技术将数据推送到浏览器。这样,用户无需频繁刷新...

    dwr服务器推技术实例

    2. **创建Java后台服务**:编写服务端代码,处理业务逻辑,并准备要推送的数据。 3. **创建反向AJAX通道**:在JavaScript中创建反向AJAX通道,注册事件监听器。 4. **客户端订阅**:在客户端JavaScript代码中订阅...

    服务器端ajax框架--------DWR实践总结

    - **Polling**:定时轮询服务器,获取新数据。 - **Pushing**:服务器推送,当服务器有新数据时,主动通知客户端。 **5. 安全性与优化** - **安全性**:DWR可以通过限制可访问的方法、IP白名单等措施来确保安全。 -...

    ssh所需要的jar.1

    8. **com.springsource.org.quartz-1.6.2.jar**:Quartz是开源的作业调度框架,用于在Java应用程序中安排任务,如定时触发某些业务逻辑或后台作业。 9. **antlr-2.7.6.jar**:ANTLR (ANother Tool for Language ...

Global site tag (gtag.js) - Google Analytics