学习DWR框架的一个实例

来源:互联网 发布:易观智库 大数据 编辑:程序博客网 时间:2024/06/07 06:56

1.       服务器端代码

首先创建JavaBean,输入下列代码:

package test;

public class Login {

    public String Check(String name,String password) {

        if(name.trim().equals("liu") && password.trim().equals("aa"))

            return "成功登录" + name;

        else

            return "用户名称或密码错误";

        

    }

}

将上述代码保存,名称为Login.java, 将该文件保存在/WEB-INF/classes文件夹下。保存完毕后,编译该文件。

上述代码主要创建了Login类,用于进行身份校验。如果用户名称为liu,并且密码为aa,则成功登录,否则提示错误信息。

 

2.       配置文件

JavaBean编写完成后,还需要编辑dwr.xml文件。打开该文件,在里面输入下列代码:

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

      <param name="class" value="test.Login"/>

</create>

 

上述代码表明,创建了一个JavaScript对象,名称为Login,该对象映射上面的JavaBean文件Login.java。到这里服务器端文件的配置基本完成了。

 

3.       客户端代码

上面步骤完成后,就可以编写客户端代码了,输入下列代码:

<%@ page contentType="text/html; charset=gb2312" errorPage="" %>

<html><head>

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

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

<script type='text/javascript' src='/MyDWR/dwr/interface/Login.js'></script>

<script type=text/javascript>

function update() {

  var name=dwr.util.getValue("demoName1");

  var password=dwr.util.getValue("demoName2");

  Login.Check(name,password, function(data) {

    dwr.util.setValue("demoReply", data);

  });

}

</script>

</head><body><center>

<p>

  请输入登录的名称和密码:<br>

  用户名称:<input type="text" id="demoName1"/><br>

  用户密码:<input type="text" id="demoName2"/>

<br>

  <input value="登录" type="button" onclick="update()"/>

  <input value="重置" type="reset"/>

  

</p></center>

回复: <span id="demoReply"></span>

</body>

<html>

将上面代码保存,名称为login.jsp. 在该文件中,需要引入两个关键性js文件,分别为engine.jsLogin.js. 这两个JS文件都是DWR框架自动生成的。其中engine.js文件对应后台封装代码;而Login.js文件对应刚才在dwr.xml文件中创建的Login对象。如果要使用Login对象必须把该Login.js文件包含在当前页面,并且还需要把Login.js文件进行下载,与login.js文件保存到同一文件夹下。

 

4.       运行

上述一切完成后,就可以运行DWR框架编写的页面了。在浏览器中输入http://localhost:8081/MyDWR/login.jsp, 即可运行。

 

注:要正常运行,好像必须要把DWR官方演示文档中的lib文件夹也拷过来,不然总是会出错。

转自<Ajax+JSP网站开发从入门到精通>

 

原创粉丝点击