随笔-8  评论-8  文章-10  trackbacks-0
 

DWR入门helloworld

一、DWR简介

DWR是一个可以允许你去创建AJAX WEB站点的JAVA开源库。它可以让你在浏览器中的JavaScript代码调用Web服务器上的Java代码,就像Java代码运行在浏览器中一样。

DWR包含2个主要部分:

1.       一个运行在服务器端的Java Servlet,他处理请求并且向浏览器发回响应。

2.       运行在浏览器端的JavaScript,它发送请求而且还能动态更新网页

二、第一个DWR程序:Hello World

也许你不明白为什么要这么做,但是请先做一遍,为什么会在后边讲解。

1.       DWR放入你的工程

http://directwebremoting.org/dwr/download 下载dwr.jar 放入你的工程/WEB-INF/lib

2.       编辑配置文件

a.       web.xml

将一下代码添加到WEB-INF/web.xml文件中。

    

            
        <servlet>

              
<servlet-name>dwr-invoker</servlet-name>

              
<servlet-class> uk.ltd.getahead.dwr.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>


b.       dwr.xml

在与web.xml同一文件夹下创建dwr.xml 并写入以下内容

        

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

<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd">

<dwr>

<allow>

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

<param name="class" value="onlyfun.caterpillar.Hello" />

</create>

</allow>

</dwr>


3.    编写Hello

像平常一样,写一个简单的类并加一个方法

 

package onlyfun.caterpillar; 

publicclass Hello 


public String hello(String name) {

          
return"哈囉!" + name + "!您的第一個DWR!";    

     }


}

 

4.    测试DWR

web服务器服务启动然后输入http://localhost:8080/你的工程/dwr

    
   
点击Hello 会看到刚才写的hello方法

    输入自己的名字,点击Execute 如果返回结果正确说明测试通过,可以进入下一步。

   

5.    编写页面

编写页面时需要注意几点:

a.    要引用几个dwrjs文件,engine.js为必要文件,util.js需要用到其中功能时加入(util.js功能会在后面介绍到)。

b.    引用dwr自动生成的js文件,dwr/interface/Hello.js ,需要注意的是这个js的文件名需要和dwr.xml中配置的一致

c.    当在js中调用java方法时会多一个参数,用来处理返回的数据。

Hello.html代码如下:

        

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

    
<head>

       
<meta http-equiv="Content-Type" content="text/html; charset=BIG5">

       
<title>第一個DWR程式</title> 

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

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

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

       
<script type='text/javascript' src='hello.js'></script>

    
</head>

    
<body>

       
<input id="user" type="text" /><input type='button' value='哈囉' onclick='hello();' />

       
<div id="result"></div>

    
</body>

</html>


        
       hello.js代码如下

    

<!--

function hello() {

//$为util.js中的功能相当于document.getElementById

var user = $('user').value;

Hello.hello(user, callback);

}
 

//回调函数(callback)

function callback(msg) {

DWRUtil.setValue('result', msg);

}
 

-->



    6.测试页面

    在浏览器中输入http://localhost:8080/你的工程/Hello.html

    在输入框中输入你的名字

   

    如果返回结果正确,那么恭喜你,你的第一个DWR程序成功了。

    如果不正确,请根据以上步骤认真检查。

三、本章小结

本章通过一个十分简单的例子,让大家明白如何使用DWRjs可以轻松的访问java程序,

做完这个程序后,可以算是DWR入门了,以后的教程里会更详细的介绍DWR的各个功能。




每天进步一点点

posted on 2008-07-23 10:43 应越 阅读(799) 评论(1)  编辑  收藏 所属分类: DWR学习

评论:
# re: DWR学习(一) DWR入门helloworld[未登录] 2012-01-11 15:15 | joy
例子是错的。。删了,别误导人了。。
The new creator that we used above uses the public no-args constructor that all Java Beans must have.   回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: