DWR框架的使用

DWR框架的使用

 

1DWR框架概述

官方网站http://getahead.ltd.uk/dwr/index

 

DWR -- Drect Web Remoting

u      开源,免费的Ajax框架

u      Java类发布为JavaScript可调用的脚本对象

u      提供JavaScript工具类,简化页面编码

 

2、为什么要使用DWR

 

DWR其功能的强大在于它可以用一种前所未有的便利方式将前端页面中的js与后端服务器中的java程序进行直接的转换。比如,它可以将java程序中的某个类在js中生成一个相应的对象,并可以调用发布的方法。

 

3在项目中应用DWR

1)准备工作

u      下载dwr.jar, 添加到项目中( http://getahead.org/dwr

u      创建配置文件:/WEB-INF/dwr.xml

u      web.xml中配置

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

 

 

 2)发布Java类,配置dwr.xml文件

 

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

<!DOCTYPE dwr PUBLIC

    "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN"

    "http://getahead.org/dwr/dwr20.dtd">

<dwr>

  <allow>

    <!-- creator="new"表示每次请求都在js中,生成新的对象service -->

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

      <param name="class" value="biz.UserService"/>

      <!--表示可提供访问的方法-->

      <include method="check"/>

    </create>

  </allow>

</dwr>

 

**注意:

u      excludeinclude

1exclude可以禁止页面调用后台的某个或某些方法,

具体的写法是在create中加入:<exclude method="createDepartment"/>  

method部分写的是这些方法名,如果有多个就写多行exclude

2include则规定页面只能调用某些方法

u      查看动态js文件

输入如下网址,http://127.0.0.1:8085/testdwr/dwr/

解析DWR工作原理

3)对应的业务类UserService.java

public class UserService {

      

       /**

        * 检查用户是否存在

        */

       public String check(String uname,String pwd) {

           if(uname.equals("aa") && pwd.equals("123")){

              return(uname+"欢迎登录!");

           }else{

              return("对不起,登录失败!");

           }  

       }

}

 

 

4)页面代码

 

<!--这句话不能少-->

<script type='text/javascript' src='/tea_ajax33/dwr/interface/User.js'></script>

 

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

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

<script type="text/javascript">

 

//身份验证函数

function userCheck() {

    var uname = document.myform.uname.value;

    var psw = document.myform.psw.value;

    if(uname=="") {

       window.alert("用户名不能为空。");

       document.myform.uname.focus();

       return false;

    }

    else {

       User.check(uname,psw,callBackLogin);

       }

}

//data就是函数的返回值

function callBackLogin(data)

{

 alert(data);

}

</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值