dwr实现实时获取数据

前端之家收集整理的这篇文章主要介绍了dwr实现实时获取数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

dwr用起来还是很方便的。

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

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

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

Xml代码

复制代码

收藏代码

<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

Xml代码

复制代码

收藏代码

<?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>
<!--dwr3提供的一个日志审核过滤器 ,可去掉,不太清楚原理-->
<filter class="org.directwebremoting.filter.AuditLogAjaxFilter"/>
<!--这是我配置的一个演示类,javascript="Demo" 表示,我可以在页面中用Demo这个名称指向DwrDemo这个java类,类中的方法可以在前台调用-->
<create creator="new"javascript="Demo">
<param name="class"value="com.zzbj.qiao.searchRandom"/>
</create>
<!-- this is a bad idea for live,but can be useful in testing 可取代,不太清楚原理-->
<convert converter="exception"match="java.lang.Exception"/>
<convert converter="bean"match="java.lang.StackTraceElement"/>
</allow>
</dwr>

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

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

Xml代码

复制代码

收藏代码

  1. <constantname="struts.action.excludePattern"value="/dwr.*"/>

4:上面这些配置好之后,可以打开服务器,访问:@L_502_10@

可以看到有内容和一个映射的类的链接,点进去就能看到所需要的js文件,将三个.js文件都下载下来放到/dwr/路径中或者/dwr/interface/。

//路径问题要注意,js路径有问题无法报错啊,只是不执行,还是ctrl+点击 测验,

Js代码

复制代码

收藏代码

  1. <script type='text/javascript' src='js/dwr/test.js'></script>

  2. <script type='text/javascript' src='js/dwr/engine.js'></script>

  3. <script type='text/javascript' src='js/dwr/util.js'></script>

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

Js代码

复制代码

收藏代码

<script type="text/javascript">

//此函数中可以调用java类的方法,除了java方法本身的参数外,还要将回调函数名作为参数传给java方法

  1. function sayHello(name){

    window.setInterval("Demo.getHello(name,dwrHandler)",2000);

    // Demo.getHello(name,dwrHandler);

    }

    //这是dwr的一个回调函数,data参数即java方法getHello(String name)的返回值

    function dwrHandler(data){




    //var value=data; 即可对所选值进行操作。

    alert(data); }

    </script>

    <div id="as"><h1>Hello World!</h1></div>

  2. <script type="text/javascript">

    sayHello("w");

    </script>

</script>

searchRandom是dwr允许js调用的java类,可以操作数据库,本类只是返回一随机数,2s执行一次,进而在方法dwrHandler中获取

  1. <bodyleftmargin="0"topmargin="0"onload="MyShow()">

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

原文链接:https://www.f2er.com/ajax/165887.html

猜你在找的Ajax相关文章