DWR入门小实例

来源:互联网 发布:百事通酒店软件代理 编辑:程序博客网 时间:2024/05/22 17:16

DWR首次入门Demo

 

概述:DWR是一个远程调用的Ajax框架,它能将服务端的java、方法和浏览器的javascript函数对应起来,也可以理解为DWR可以实现前端html页面将Java后台类、方法当成 javascript函数直接调用。

 

1.Demo配置:

首先到http://directwebremoting.org/dwr/introduction/index.html 下载DWRJar包,由于DWR需要关联common-logging.jar所以下载common-logging.x.x.x.jar 。新建Web工程,将下载好的DWR.jarcommon-logging.jar都放到WEB-INF/lib目录下。

 

2.配置web.xml 如下:

 

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="3.0" 

xmlns="http://java.sun.com/xml/ns/javaee" 

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 

http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

  <display-name></display-name>

  <welcome-file-list>

    <welcome-file>MyDwr.jsp</welcome-file>

  </welcome-file-list>

  

  <servlet>

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

</web-app>


3.WEB-INF目录下新建一个dwr.xml 如下:

<?xml version="1.0" encoding="UTF-8"?>

<dwr>

    <allow>

        <!--配置的一个演示类,javascript="Demo" 表示可以在页面中用Demo这个名称指向DwrDemo这个java类,类中的方法可以在前台调用 -->

        <!-- creater="new"表示每调用一次时,都需要new一个 -->

        <create creator="new" javascript="Demo">

            <param name="class" value="com.dwr.DwrDemo" /> //这个路径是你Java类路径

        </create>

        

        <!-- java类库类 -->

        <create creator="new" javascript="MyDate">

            <param name="class" value="java.util.Date" />

        </create>

 

        <!-- 测试阶段使用,运营阶段不要使用 -->

        <!-- convert元素用于数据类型转换,即java类和javascript之间相互转换 -->

        <convert converter="exception" match="java.lang.Exception" />

        <convert converter="bean" match="java.lang.StackTraceElement" />

    </allow>

</dwr>  

 

4.新建java文件,代码如下:

package com.dwr;

 

public class DwrDemo {

 public String getHello(String name) {

        return name + " 你好!";

    }

}

 

5.编辑你的index.jsp,如下:

--------------省略jsp开头---------------

<script type="text/javascript">

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

    function sayHello() {

    var name = document.getElementById("na").value;

        Demo.getHello(name, dwrHandler);

    }

 

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

    function dwrHandler(data) {

        alert(data);

    }

</script>

  <body>

   <input id="na" value="">

    <button onclick="sayHello();">提交</button>

  </body>

--------------省略jsp结尾---------------

 

最后把项目部署到服务器:访问:http://localhost:8080/[YOUR-WEBAPP]/dwr

,你会看到一个官方的demo例子。 

直接访问:http://localhost:8080/[YOUR-WEBAPP]/

,你可以看到刚才所编写的这段程序了。

 

 

 

以上就是一个入门级的DWR小实例,很高兴能和大家一起学习,一起进步。



0 0
原创粉丝点击