DWR Annotation入门示例

        DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站.它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样。       DWR2.0以后新增加了JDK5的注解(Annotation)功能,使用注解功能之后可以从很大程度上简化了原来的dwr.xml的配置,使用起来非常的方便。

    下面在Myeclipse上新建一个web项目来简单演示一下dwr.

      需要准备的jar包:dwr.jar 和commons-logging.jar包.若新建的web项目中没有包括serverlet-api.jar,还需要手动引入此包.

      步骤:

      1.新建一个叫TestDwr的web项目,并在web-inf/lib下引入dwr.jar 和commons-logging.jar包 以及serverlet-api.jar

DWR Annotation入门示例

      2.在src下新建一个model包,并在该包下建立一个Test类.如下所示:

   

package model;
import org.directwebremoting.annotations.RemoteMethod;
import org.directwebremoting.annotations.RemoteProxy;

@RemoteProxy( name="test")
public class Test {
	@RemoteMethod  
	public String getString(String para)
	{
		return "return "+para;
	}
}


 

     3.配置 web.xml,如下

   

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	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_2_5.xsd">
	<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>
        <init-param>
            <param-name>classes</param-name>
            <param-value>
           model.Test
            </param-value>
        </init-param>
    </servlet>

    <servlet-mapping>
        <servlet-name>dwr-invoker</servlet-name>
        <url-pattern>/dwr/*</url-pattern>
    </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

 

接下面,通过Myeclipse编译发布项目,然后在浏览器中输入:http://localhost:9900/TestDwr/dwr来测试dwr配置是否成功,如下图所示:

DWR Annotation入门示例

点开 test 的链接,如下图所示:

DWR Annotation入门示例

 

 

将上图中红色部分引入index.jsp


 

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <script type='text/javascript' src='/TestDwr/dwr/engine.js'></script>
  <script type='text/javascript' src='/TestDwr/dwr/interface/test.js'></script>
  

 <script type="text/javascript">
 test.getString(
 	'test',//getString的参数
 	function(data){
		document.write(data);
	}//当getString从服务器取回数据后的回调函数,data为返回的值
 );
 </script>   
   </head>
  
  <body>
   
  </body>
</html>


在浏览器访问:http://localhost:9900/TestDwr/

界面上显示:

   "return test"

如此,本例就算成功了

上一篇:form表单数据的自动采集的js方法


下一篇:struts2的action之间的参数传递和结果类型