dwr实现实时查询数据库并显示到jsp页面

dwr用起来还是很方便的。

1:去官网下载dwr.jar包。我下载的是dwr-3.0.jar。

复制到WEB-INF/lib目录下。

2:在web.xml文件中添加dwr的信息:

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

 3:创建dwr的配置文件:dwr.xml

<!DOCTYPE dwr PUBLIC
    "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN"
    "http://directwebremoting.org/schema/dwr30.dtd">


<dwr>
  <allow>
    <create creator="new" javascript="test">
      <param name="class" value="project.entity.Test"/>
    </create>
    <convert match="project.entity.TestBean" converter="bean"></convert>
    <convert match="project.entity.TestBean2" converter="bean"></convert>
    <convert match="project.entity.TestBean3" converter="bean"></convert>
  </allow>
</dwr>

 test映射project.entity.Test这个类。

如果是和sturts搭配使用的,要在struts.xml文件中添加一行代码,因为struts的/*会把所有的请求都有转到action的,这样dwr就不起作用,从web.xml文件中就可以看出来,所以要在struts.xml文件中注明:

	<constant name="struts.action.excludePattern" value="/dwr.*" />

 

4:上面这些配置好之后,可以打开服务器,访问:http://ip:8080/项目名/dwr,可以看到有内容和一个映射的类的链接,点进去就能看到所需要的js文件,将三个.js文件都下载下来放到/dwr/路径中或者/dwr/interface/。

<script type='text/javascript' src='../dwr/interface/test.js'></script>
<script type='text/javascript' src='../dwr/engine.js'></script>
<script type='text/javascript' src='../dwr/util.js'></script>

 5:开始写调用的js方法了:

<script type="text/javascript">
		var current_html=null;
		function getRecords(){
			test.getRecords(createList);
		}
		
		function createList(data1){
			datahtml.innerHTML= data1;
		}
		
		function MyShow(){
			timer = window.setInterval("getRecords()", 2000);
		}
		
</script>

 test就是映射的java类,调用这个类的getRecords方法,然后将返回值传给createList这个方法,createList是回调函数,是用来处理所调用的java方法的返回值的。返回的值给了data1,然后就可以使用了,我是将这个值显示在一个td中。

MyShow这个方法是控制每2s执行一次getRecords这个js方法。这样就可以实现页面不刷新数据每2s更新一次了。

<body leftmargin="0" topmargin="0" οnlοad="MyShow()">

 在body加载完就开始执行MyShow这个方法了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值