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

      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配置是否成功,如下图所示:

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

 

 

将上图中红色部分引入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"

如此,本例就算成功了

时间: 2024-12-02 05:46:58

DWR Annotation入门示例的相关文章

基于角色的安全性编程入门示例

为了能更好地理解.NET基于角色的安全性,从一个最简单的实例导入角色的应用.首先创建一个简单的控制台程序,如代码清单1-1所示. 代码清单1-1  未添加角色验证的程序 using System; namespace角色实例 { classProgram { static void Main(string[] args) { OutHello(); Console.Read(); } staticvoid OutHello() { Console.WriteLine("hello world!&

CI框架入门示例之数据库取数据完整实现方法_php实例

本文实例讲述了CI框架入门示例之数据库取数据完整实现方法.是写给初学者看的,这是最简单可以调通的例子.分享给大家供大家参考.具体实现方法如下: 1.下载CI框架 2.配置 database.php配置: 为数据库服务器设置 connection 参数: 复制代码 代码如下: $db['default']['hostname'] = "your-db-host";  $db['default']['username'] = "your-username";  $db[

【java开发系列】—— struts2简单入门示例

原文:[java开发系列]-- struts2简单入门示例 上篇推荐:JDK安装 前言 最近正好有时间总结一下,过去的知识历程,虽说东西都是入门级的,高手肯定是不屑一顾了,但是对于初次涉猎的小白们,还是可以提供点参考的. struts2其实就是为我们封装了servlet,简化了jsp跳转的复杂操作,并且提供了易于编写的标签,可以快速开发view层的代码. 过去,我们用jsp和servlet搭配,实现展现时,答题的过程是: 1 jsp出发action 2 servlet接受action,交给后台c

Mybatis的入门示例代码_java

首先新建一个JavaWeb项目并导入mybatis依赖的jar包,同时Mybatis是对数据库的操作所以我们需要在数据库中新建一个表user用来演示. 新建完表之后我们还需要建立相对应的实体类User.java并添加set和get方法: public class User { private String username; private String password; private int age; public String getUsername() { return usernam

Velocity魔法堂系列一:入门示例

一.前言   Velocity作为历史悠久的模板引擎不单单可以替代JSP作为Java Web的服务端网页模板引擎,而且可以作为普通文本的模板引擎来增强服务端程序文本处理能力.而且Velocity被移植到不同的平台上,如.Net的 NVelocity和js的Velocity.js,虽然各平台在使用和实现上略有差别,但大部分语法和引擎核心的实现是一致的,因此学习成本降低不少 哦.   最好的学习资源--官网:http://velocity.apache.org/   本系列打算采用如下结构对Velo

后台(35)——MyBatis入门示例

探索Android软键盘的疑难杂症 深入探讨Android异步精髓Handler 详解Android主流框架不可或缺的基石 站在源码的肩膀上全解Scroller工作机制 Android多分辨率适配框架(1)- 核心基础 Android多分辨率适配框架(2)- 原理剖析 Android多分辨率适配框架(3)- 使用指南 自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View

jQuery简单入门示例之用户校验demo示例_jquery

本文实例讲述了jQuery简单入门示例之用户校验.分享给大家供大家参考,具体如下: jQuery在小编的世界中,也就是JavaScript和查询(Query),即是辅助JavaScript开发的库,百度百科对JQuery的介绍比较详细,小伙伴可以东东自己可耐的小爪子,上网进行搜索,说不定,有意外惊喜哦,今天这篇文章,小编简单的介绍一下JQuery的一些基本知识,然后小编在集合实例,讲解一下在具体的应用过程中,我们的JQuery又是如何在她的舞台熠熠生辉...... 通过JQuery的学习,我们可

微信公众平台接口开发入门示例_php技巧

本文实例讲述了微信公众平台接口开发入门示例.分享给大家供大家参考.具体如下: 微信公众平台的接口开发是一个现在比较常用的功能了,很多的人都会去了解一下微信公众平台一些简单开发应用,这里就来给大家介绍一个入门示例. 这段时间都在忙于微信公众号平台来发,现在已经接近尾声了,所以对于微信开发平台的接口如何使用,在这里也唠刀一两句. 微信平台的开发并不像你想像的那么难,无非就是数据的存取处理罢了,对于数据的存取,简单如留言板,存数据,我们通过表单向数据库提交数据以存入;取数据,通过查询语句从数据库取得,

最简单的Spring入门示例

应一位朋友的要求,写一个最简单的spring示例,使用spring的MVC,并应用了spring的依赖注入,实现简单应用,索性放在这里供还没入门的spring爱好者参考,初步感受一下spring应用(spring高手就不必看了,这里并没有涉及高级特性,比如与ORM框架的整合,事务管理,远程调用,代理等这些功能) spring至关重要的一环就是装配,即配置文件的编写,接下来我按刚才实际过程中一步步简单讲解. 首先,要在web.xml中配置DispatcherServlet,它是作为Spring M