初识dwr

DWR(Direct WebRemoting)是一个开源的类库,可以帮助开发人员开发包含AJAX技术的网站.它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样.

一、dwr入门demo

开始之前请在myeclipse下建立web工程dwrWeb

  1. 下载jar包,放到你的java web应用的WEB-INF/lib 目录下.

注意:从dwr2.0开始,需要用到commons-logging包

  1. 编辑web.xml,加入servlet,让web应用支持 dwr
 <servlet>
   <display-name>DWRServlet</display-name>
 <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>
</servlet>
<servlet-mapping>
 <servlet-name>dwr-invoker</servlet-name>
  <url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
  1. 在web.xml的同级目录下建立dwr.xml文件,这个配置文件定义了dwr可以创建和调用哪些java类
<?xmlversion="1.0" encoding="UTF-8"?>
<!DOCTYPEdwr PUBLIC
   "-//GetAhead Limited//DTD Direct WebRemoting 2.0//EN"
   "http://getahead.org/dwr/dwr20.dtd">
<dwr>
  <allow>
    <create creator="new"javascript="Demo">
      <param name="class"value="com.Demo"/>
    </create>
  </allow>
</dwr>
  1. 建立java类文件
package com;

publicfinal class Demo
{
 public String hello(String name)
 {
  return "恭喜恭喜," + name +"你的dwr程序成功运行!Hava fun!";
 }
}
  1. 建立js文件
functionhello() {
  var name =dwr.util.getValue("name");
  Demo.hello(name, function(data) {
    dwr.util.setValue("result",data);
  });
  1. 建立index.jsp文件
<!DOCTYPEHTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
  <meta http-equiv="Content-Type"content="text/html; charset=utf-8" />
  <script type='text/javascript'src='<%=request.getContextPath()%>/dwr/interface/Demo.js'>
        </script>
  <script type='text/javascript'src="<%=request.getContextPath()%>/dwr/engine.js">
        </script>
  <script type='text/javascript'src="<%=request.getContextPath()%>/dwr/util.js">
        </script>
  <script type='text/javascript'src='hello.js'>
        </script>

 </head>
 <body>
  <input type="text"name="name" value="Hello World!">
  <br>
  <input type="button"onclick="hello();" value="button">
  <br>
  <span id="result"style="background: #eeffdd; padding: 10px"></span>
 </body>
</html>

二、接下来为dwr+spring集成步骤:

  1. 新建一个web工程,导入dwr+spring所需jar,如下图
  1. 在web.xml配置文件中添加spring的配置。以及dwr的配置;
<?xmlversion="1.0" encoding="UTF-8"?>
<web-appversion="2.4"
   xmlns="http://java.sun.com/xml/ns/j2ee"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <!--Spring上下文 -->
    <context-param>
       <param-name>contextConfigLocation</param-name>
       <param-value>classpath:resource/app*.xml</param-value>
    </context-param>
    <listener>
       <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <!-- 配置DWR前端控制器 -->
    <servlet>
       <servlet-name>dwrServlet</servlet-name>
       <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
       <!-- 指定配置文件 -->
        <init-param>
           <param-name>config</param-name>
           <!-- 如果有多个用","分开 -->
            <param-value>
               /WEB-INF/classes/config/dwr.xml
            </param-value>
        </init-param>
        <init-param>
           <param-name>debug</param-name>
           <param-value>true</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
       <servlet-name>dwrServlet</servlet-name>
       <url-pattern>/dwr/*</url-pattern>
    </servlet-mapping>
</web-app>
  1. 配置applicationContext.xml
<?xmlversion="1.0" encoding="UTF-8"?>
<!--
    配置系统基础环境
 -->
<beans
   xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"
    >
    <bean id="demo" class="com.Demo"></bean>
</beans>
  1. 配置dwr.xml
<?xmlversion="1.0" encoding="UTF-8"?>
<!DOCTYPEdwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN""http://getahead.org/dwr/dwr20.dtd">
<!--通用dwr配置 -->
<dwr>
    <allow>
        <!-- 建立JS对象,将目标对象的方法转换成JS对象的方法-->
<createcreator="spring"javascript="Demo">
<param name="beanName" value="demo"/>
</create>
</allow>
</dwr>

dwr.xml的配置是整个与spring结合的关键。通过简单的学习,我想你也可以轻松的上手dwr了。

时间: 2024-10-07 17:36:06

初识dwr的相关文章

初识Python,望君多多关照

在学习Python之前,我们接触过数据结构和网页制作.前者让我们学习如何把C语言运用的更加整齐规范,而后者让我们亲身学习如何运用所学,制作一个静态网页.通过这些课程的学习,让我对C语言产生了比较大的压力,以至于对编程.对这学期的Python课程都有一种如临大敌的感觉. 但是真的学习了这门课程,体会了编码过程中的一些固定运用方法和套路之后,也许过程中对这门课程隐隐约约产生了一点点朦胧的感觉,仿佛他也并没有想象中的那么困难,起码现在的学习让我认为,他可能没有C语言那么繁琐和麻烦.当然,以一个初学者的

初识数组排序!!!!

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>初识数组排序</title> <!--调试成功--> <style type="text/css"> *{ padding:0; margin: 0; } li,ul{ list-style: none; } #p

spring与dwr整合实现js直接使用java代码

此文章是基于 搭建Jquery+SpringMVC+Spring+Hibernate+MySQL平台 一. 准备工作 1. 点击此下载相关文件,并把文件放到 ims 工程对应的文件夹下 二. jar包介绍 1. dwr-3.0.1.jar,支持 spring 4.3.4 的最低版本 三. 相关文件介绍 1. web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="

初识操作系统和linux

初识操作系统和linux 1.计算机系统由硬件系统和软件系统两大部分组成:是一种能接收和存储信息,并按照存储在其内部的程序对海量数据进行自动.高速地处理,然后把处理结果输出的现代化智能电子设备. 2.世界上第一台计算机是1946年诞生在美国宾州大学. 3.冯·诺依曼体系结构:1946年数学家冯·诺依曼于提出计算机硬件系统由运算器.控制器.存储器.输入设备.输出设备.摩根定律:当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍.现在计算机技术进本很难遵

JAVA 初识类加载机制 第13节

JAVA 初识类加载机制 第13节 从这章开始,我们就进入虚拟机类加载机制的学习了.那么什么是类加载呢?当我们写完一个Java类的时候,并不是直接就可以运行的,它还要编译成.class文件,再由虚拟机解释给当前的操作系统去执行.这些过程都是我们看不见的,我们能看见的也就是一个.class文件.既然虚拟机要解释这些.class文件给当前的操作系统听,那么他怎么获得这些.class文件呢?虚拟机获得这些.class文件的过程就是类加载了. 所以,总结来说就是:虚拟机将.class文件从磁盘或者其他地

Ajax框架---dwr的用法

通常使用Ajax时用的都是jQuery框架,现在公司的框架里用的都是dwr.我觉得dwr和jQuery中的ajax用法差不多,看起来也很像. 一.简介 百度百科上对dwr的描述: DWR采取了一个类似AJAX的新方法来动态生成基于JAVA类的JavaScript代码.这样WEB开发人员就可以在JavaScript里使用Java代码,就像它们是浏览器的本地代码(客户端代码)一样:但是Java代码运行在WEB服务器端而且可以自由访问WEB 服务器的资源.出于安全的理由,WEB开发者必须适当地配置哪些

初识React

原文地址:北云软件-初识React 专注于UI 在MVC分层设计模式中,react常被拿来实现视图层(V).React不依赖于技术栈的其他部分,因此可以方便的在现有项目中尝试用它来实现一个小特性. 虚拟DOM React从DOM中抽象出来,给出一种更简洁的编程模型,且性能表现更好.能够通过NodeJS实现服务端渲染,通过React Native开发原生app. 数据流React实现单向.响应式数据流,减少boilerplate且比传统数据绑定更容易理解. 简洁的组件React的组件都实现了一个r

DWR入门教程

DWR(Direct Web Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java类来动态生成JavaScrip代码).它的最新版本DWR0.6添加许多特性如:支持Dom Trees的自动配置,支持Spring(JavaScript远程调用spring bean),更好浏览器支持,还支持一个可选的commons-

泛型的几种类型以及初识webform

今天学习的可以分为两类吧,但是学习的都是比较抽象的,不太容易掌握吧.首先我们大部分时间学习了泛型,泛型的委托,泛型接口以及枚举器,迭代器,扩展方法:最后简单的认识了webform,实现了一个简单的功能. 一.泛型 定义:泛型(generic)可以软糖多个类型共享一组代码,泛型允许我们声明类型参数化.可以用不同的类型进行实例化,说白了,就是可以用类型占位符,创建具体类型致命的真实概念.C#中提供了五种泛型,类,结构,接口,委托和方法.下面举例说明可能更容易理解, class MyStack<T>