`
tntxia
  • 浏览: 1483662 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

一个DWR入门的例子

阅读更多

这次因为项目的原因,又要开始研究DWR了。

 

什么是DWR?
    DWR是一个Open Source的 java项目。DWR可以让JavaScript调用运行在Web服务器里面的JAVA程序。简单一点或者专业一点就是Easy AJAX for JAVA.

 

官方网站:http://directwebremoting.org/

 

 

 

刚刚在网上找了一个例子,因为下的是最新DWR版本,怎么和网上的例子有点不同,稍微改了一下就可以用了。

 

1. 增加web.xml的设置

 

<servlet>    
<servlet-name>dwr-invoker</servlet-name>    
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>    
</servlet>    
<servlet-mapping>    
<servlet-name>dwr-invoker</servlet-name>    
<url-pattern>/dwr/*</url-pattern>    
</servlet-mapping>

 这里其实只是增加了一个Servlet而已,这个Servlet拦截了所有/dwr/*的请求。

 

2. 增加dwr.xml文件

 

我们在WEB-INF文件夹里面增加一下dwr.xml用来设置js里面调用的类文件,文件的代码如下:

 

<?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="MyTest" scope="application">    
<param name="class" value="com.tntxia.dwr.DWRTest"/>    
</create>    
</allow>    
</dwr>

 

 3. 写真正业务逻辑的代码

 

接下来,我们可以定义Java类来实现业务逻辑了。

 

package com.tntxia.dwr;

public class DWRTest {   
    public DWRTest(){   
       
    }   
    public String getMyName(){      
        return "Hello Ajax";      
    }      
  
}

 4. 最后,我们写一个JSP来展现结果

 

<%@ page language="java" contentType="text/html; charset=GB18030"  
  pageEncoding="GB18030"%>   
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">   
<html>   
<head>   
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">   
<title>DWR - Test Home</title>    
<script type='text/javascript' src='dwr/interface/MyTest.js'></script>    
<script type='text/javascript' src='dwr/engine.js'></script>   
<script type='text/javascript' src='dwr/util.js'></script>   
<script language="javascript">    
    var mycall=function callBack(data){   
        dwr.util.setValue("demo1",data);   
    }   
    function showMyName(){   
        MyTest.getMyName(mycall);   
    }   
    function clearName(){   
        demo1.value="";   
    }   
</script>    
</head>    
<body>   
    <h1>Ajax Test Page</h1>       
    <input type="button" value="显示姓名" onclick="javascript:showMyName()">      
    <input type="button" value="清空" onclick="javascript:clearName()"><br>       
    <input type="text" id="demo1"><br>       
  
</body>    
</html>   
 

大功告成,dwr就这么简单

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics