DWR——Direct Web Remoter Servlet

供给那些想要以一种简单的方式使用Ajax和XMLHttpRequest的开发者。它具有一套JavaScript功能集,它们把从HTML页面调用应用服务器上的Java对象的方法简化了。它操控不同类型的参数,并同时保持了HTML代码的可读性。

DWR不是对一个设计的插入,也不强迫对象使用任何种类的继承结构。它和servlet框架内的应用配合的很好。

 

配置步骤:

1.拷贝dwr.jar到WEB-INF/ lib下   下载地址:http://getahead.ltd.uk/dwr/

2.在web.xml中增加dwr配置,WEB-INF目录中建立一个dwr.xml

 

  1. <servlet>
  2. <servlet-name>dwr-invoker</servlet-name>
  3. <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
  4. <!-- 设置为调试模式 -->
  5. <init-param>
  6. <param-name>debug</param-name>
  7. <param-value>true</param-value>
  8. </init-param>
  9. </servlet>
  10. <servlet-mapping>
  11. <servlet-name>dwr-invoker</servlet-name>
  12. <url-pattern>/dwr/*</url-pattern>
  13. </servlet-mapping>

3.建立一个被调用的类,和普通java类没有区别

  1. package dwr.test;
  2. public class Service {
  3. public String getMessage()
  4. {
  5. return "this is the dwr invoke test!";
  6. }
  7. }

4.在WEB-INF下增加dwr的配置文件dwr.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd">
  3. <dwr>
  4. <allow>
  5. <create javascript="service" creator="new">
  6. <param name="class" value="dwr.test.Service" />
  7. </create>
  8. </allow>
  9. </dwr>

5.书写调用

  1. <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
  2. <html>
  3. <head>
  4. <title>首页</title>
  5. <mce:script type="text/javascript" src="dwr/engine.js" mce_src="dwr/engine.js"></mce:script>
  6. <mce:script type="text/javascript" src="dwr/util.js" mce_src="dwr/util.js"></mce:script>
  7. <mce:script type="text/javascript" src="dwr/interface/service.js" mce_src="dwr/interface/service.js"></mce:script>
  8. <mce:script type="text/javascript"><!--
  9. // 调用服务端getMessage方法
  10. function firstDwr(){
  11. service.getMessage(callBackHello);
  12. }
  13. // 回调方法,显示从服务器返回的信息
  14. function callBackHello(data){
  15. alert(data);
  16. }
  17. // --></mce:script>
  18. </head>
  19. <body>
  20. <input type="button" name="button" value="测试" onclick="firstDwr()">
  21. </body>
  22. </html>

注意:

这两个js引入是dwr框架的

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

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

第三个<script type="text/javascript" src="dwr/interface/service.js">

是在dwr.xml中我们配置的   <create javascript="service"

调用dwr与调用java方法类似,但调用后存在一个回调函数,结果由回调函数处理

 

6.结果:

DWR——Direct Web Remoter Servlet

供给那些想要以一种简单的方式使用Ajax和XMLHttpRequest的开发者。它具有一套JavaScript功能集,它们把从HTML页面调用应用服务器上的Java对象的方法简化了。它操控不同类型的参数,并同时保持了HTML代码的可读性。

DWR不是对一个设计的插入,也不强迫对象使用任何种类的继承结构。它和servlet框架内的应用配合的很好。

 

配置步骤:

1.拷贝dwr.jar到WEB-INF/ lib下   下载地址:http://getahead.ltd.uk/dwr/

2.在web.xml中增加dwr配置,WEB-INF目录中建立一个dwr.xml

 

  1. <servlet>
  2. <servlet-name>dwr-invoker</servlet-name>
  3. <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
  4. <!-- 设置为调试模式 -->
  5. <init-param>
  6. <param-name>debug</param-name>
  7. <param-value>true</param-value>
  8. </init-param>
  9. </servlet>
  10. <servlet-mapping>
  11. <servlet-name>dwr-invoker</servlet-name>
  12. <url-pattern>/dwr/*</url-pattern>
  13. </servlet-mapping>

3.建立一个被调用的类,和普通java类没有区别

  1. package dwr.test;
  2. public class Service {
  3. public String getMessage()
  4. {
  5. return "this is the dwr invoke test!";
  6. }
  7. }

4.在WEB-INF下增加dwr的配置文件dwr.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd">
  3. <dwr>
  4. <allow>
  5. <create javascript="service" creator="new">
  6. <param name="class" value="dwr.test.Service" />
  7. </create>
  8. </allow>
  9. </dwr>

5.书写调用

  1. <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
  2. <html>
  3. <head>
  4. <title>首页</title>
  5. <mce:script type="text/javascript" src="dwr/engine.js" mce_src="dwr/engine.js"></mce:script>
  6. <mce:script type="text/javascript" src="dwr/util.js" mce_src="dwr/util.js"></mce:script>
  7. <mce:script type="text/javascript" src="dwr/interface/service.js" mce_src="dwr/interface/service.js"></mce:script>
  8. <mce:script type="text/javascript"><!--
  9. // 调用服务端getMessage方法
  10. function firstDwr(){
  11. service.getMessage(callBackHello);
  12. }
  13. // 回调方法,显示从服务器返回的信息
  14. function callBackHello(data){
  15. alert(data);
  16. }
  17. // --></mce:script>
  18. </head>
  19. <body>
  20. <input type="button" name="button" value="测试" onclick="firstDwr()">
  21. </body>
  22. </html>

注意:

这两个js引入是dwr框架的

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

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

第三个<script type="text/javascript" src="dwr/interface/service.js">

是在dwr.xml中我们配置的   <create javascript="service"

调用dwr与调用java方法类似,但调用后存在一个回调函数,结果由回调函数处理

 

6.结果:

this is the dwr invoke test!

转:http://blog.csdn.net/wklken/article/details/6382315

DWR基本配置的更多相关文章

  1. DWR+Spring配置使用

    一.DWR介绍 DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端 ...

  2. dwr.xml 配置

    dwr.xml 是你用来配置 DWR 的文件,默认是将其放入 WEB-INF 文件夹. 创建一个 dwr.xml 文件dwr.xml 有如下的结构: <?xml version="1. ...

  3. 【DWR系列04】- DWR配置详解

    table { margin-left: 30px; width: 90%; border: 1px; border-collapse: collapse } img { border: 1px so ...

  4. 配置使用dwr完成收邮件提示

    DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站.它可以允许在浏览器里的代码使用运行在 ...

  5. dwr和spring的整合

    1.dwr在spring配置文件的配置: <!-- 注意这里新增加的dwr tag, 为使其生效,文件头中要声明namespace --> <dwr:configuration /& ...

  6. SpringMVC中使用DWR

    SpringMVC中使用DWR重点在其配置当中. 1.  web.xml文件的配置 在DispatcherServlet中增加dwr的拦截来取代DwrServlet. 更改配置如下: <serv ...

  7. 基于注解的DWR使用

    dwr3.0支持使用注解,如果不喜欢配置dwr.xml文件,注解是个不错的方法,简单快捷. 步骤如下: 1.配置web.xml文件,需要在DwrServlet里加classes初始化参数: <i ...

  8. JSP的那些事儿(2)---- DWR2.0 的配置和使用

    JSP的那些事儿(2)----DWR2.0 的配置和使用 分类: Web开发 JAVA 2009-04-23 15:43 999人阅读 评论(0) 收藏 举报 jspdwrjavascriptserv ...

  9. JS调用Java函数--DWR框架

    (1)dwr与ssh框架整合教程dwr框架介绍. DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJA ...

随机推荐

  1. 有关JSP注释

    最近学习过滤器的时候,dispatcher可以指定过滤器被Servlet容器拦截的方式,可以是REQUEST.INCLUDE.FORWARD.ERROR,默认是REQUEST方式. 现在有两个filt ...

  2. 嵌入式设计模式:有限状态自动机的C语言实现

    转自:http://www.cnblogs.com/autosar/archive/2012/06/22/2558604.html 状态机模式是一种行为模式,在<设计模式>这本书中对其有详 ...

  3. UIActivityIndicatorView添加到UIButton上并响应事件

    spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewSty ...

  4. POJ题目分类

    POJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094)初期: 一 ...

  5. shell脚本摘要

    开启监听端口的程序时,查看是否开启成功(该例子监听8983端口) #动态显示[|][/][-][\] function spinner() { local pid=$1 local delay=0.5 ...

  6. EntityFramework ,ef 介绍

    EntityFramework之领域驱动设计实践 分层架构 在引入实例以前,我们有必要回顾,并进一步了解分层架构.“层”是一种体系结构模式[POSA1],也是被广大软件从业人员用得最为广泛而且最为灵活 ...

  7. 使用SparkSQL实现多线程分页查询并写入文件

    一.由于具有多张宽表且字段较多,每个宽表数据大概为4000万条,根据业务逻辑拼接别名,并每张宽表的固定字段进行left join 拼接SQL.这样就能根据每个宽表的主列,根据每个宽表的不同字段关联出一 ...

  8. ADF_Advanced ADF系列1_Fusion应用的客制和个性化(Part1)

    2015-02-17 Created By BaoXinjian

  9. HUST 1010 The Minimum Length(KMP,最短循环节点,即i-Next[i])

    题意: 有一个字符串A,假设A是“abcdefg”,  由A可以重复组成无线长度的AAAAAAA,即“abcdefgabcdefgabcdefg.....”. 从其中截取一段“abcdefgabcde ...

  10. NeHe OpenGL教程 第三十二课:拾取游戏

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...