DWR第一篇之入门示例

1. 新建maven-web项目,目录结构如下:

2. 在pom.xml里添加dwr所需的依赖

 1 <dependency>
 2     <groupId>org.directwebremoting</groupId>
 3     <artifactId>dwr</artifactId>
 4     <version>3.0.1-RELEASE</version>
 5 </dependency>
 6 <dependency>
 7     <groupId>commons-logging</groupId>
 8     <artifactId>commons-logging</artifactId>
 9     <version>1.2</version>
10 </dependency>

3.  在web.xml里边添加dwr的servlet配置

1 <!-- 配置dwr请求的servlet -->
2 <servlet>
3     <servlet-name>dwr-invoker</servlet-name>
4     <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
5 </servlet>
6 <servlet-mapping>
7     <servlet-name>dwr-invoker</servlet-name>
8     <url-pattern>/dwr/*</url-pattern>
9 </servlet-mapping>

4. 新建核心控制器类CoreServlet.java(注意:这里只是普通的java类,不是servlet)

 1 package com.skyer.servlet;
 2
 3 public class CoreServlet {
 4     public void sayHello() {
 5         System.out.println("Hello World!");
 6     }
 7
 8     public String getHello(String name) {
 9         return "Hello " + name;
10     }
11 }

5. 在WEB_INF根目录下添加dwr.xml文件:

<!DOCTYPE dwr PUBLIC
    "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN"
    "http://getahead.org/dwr/dwr30.dtd">

<dwr>
    <allow>
        <create creator="new" javascript="CoreServlet">
            <param name="class" value="com.skyer.servlet.CoreServlet" />
        </create>
    </allow>
</dwr>

6.  新建测试用的jsp页面index.jsp

 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
 2 <%
 3     String path = request.getContextPath();
 4     String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
 5 %>
 6
 7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 8 <html>
 9 <head>
10 <base href="<%=basePath%>">
11
12 <title>dwr_demo</title>
13 <script type=‘text/javascript‘ src=‘dwr/engine.js‘></script>
14 <script type=‘text/javascript‘ src=‘dwr/util.js‘></script>
15 <script type=‘text/javascript‘ src=‘dwr/interface/CoreServlet.js‘></script>
16 </head>
17
18 <body>
19     <input type="button" value="发送" onclick="sayHello();">
20     <br>
21     <input type="text" id="getHello">
22     <br>
23     <input type="button" value="发送" onclick="getHello();">
24     <br>
25     <input type="text" id="getHelloValue">
26 </body>
27 <script type="text/javascript">
28     function sayHello() {
29         CoreServlet.sayHello();
30     }
31     function getHello() {
32         var name = dwr.util.getValue("getHello");
33         CoreServlet.getHello(name, function(data) {
34             dwr.util.setValue("getHelloValue", data);
35         });
36     }
37 </script>
38 </html>

注意,JSP文件里引入了三个js包,其中engine.js和util.js是dwr里自带的js文件,添加到项目里即可。另外一个CoreServlet.js文件需要自己手动建立,其路径必须在dwr/interface,名称必须和dwr.xml配置文件里的javascript属性一致。下面的js脚本调用了CoreServlet里的方法。

7. 测试(注意:需要JDK1.7及以上)

时间: 2024-12-07 18:45:59

DWR第一篇之入门示例的相关文章

Python学习基础篇第一篇——快速入门(适合初学者)

一.Python学习基础篇第一篇--(快速入门) 建议从Python2.7开始学习,Python2.7可以支持扩展大量的第三方类库,是目前比较成熟的版本 编写代码的软件推荐将python自带的IDLE和PyCharm集成IDE结合起来使用 1.1 Python命令行 Python命令行将以 >>> 开始,比如 >>>print 'Hello World!' 对于验证简单的命令可以在python自带的IDLE中完成  1.2 在Python自带的IDLE写一段小程序 在所

Java学习第一篇---Java入门准备

这是我的第一篇博客,以后也会写自己学习Java的过程.一些知识点.心得体会等,以此鼓励自己坚持学习! 现在开始了我学习Java的生涯:[个人下载的Jdk版本是jdk-8u5-windows-x64] 1.安装之后的目录: ->Source Code: 安装这个选项将会安装Java所有核心类库的源代码 ->bin: 该路径下存放了JDK的各种工具命令,常用的Javac.java等命令. ->db: 该路径是安装Java DB的路径[DB(data base,数据库)是依照某种数据模型组织起

第一篇-python入门

一 编程与编程语言 python是一门编程语言,作为学习python的开始,需要事先搞明白:编程的目的是什么?什么是编程语言?什么是编程? 编程的目的: #计算机的发明,是为了用机器取代/解放人力,而编程的目的则是将人类的思想流程按照某种能够被计算机识别的表达方式传递给计算机,从而达到让计算机能够像人脑/电脑一样自动执行的效果. 什么是编程语言? #上面提及的能够被计算机所识别的表达方式即编程语言,语言是沟通的介质,而编程语言是程序员与计算机沟通的介质.在编程的世界里,计算机更像是人的奴隶,人类

第一篇 UEditor入门部署和体验

UEditor 是由百度「FEX前端研发团队」开发的所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码. UEditor富文本编辑器,轻量,可定制,注重用户体验. 1 入门部署和体验 1.1 下载编辑器 到官网下载 UEditor 最新版:[官网地址] 或是直接在网盘下载:JSP- UTF-8版本.(本文用的环境) 1.2 创建demo文件 解压下载的包,在解压后的目录创建 demo.html 文件,填入下面的html代码 (最小配置的

我的微信小程序第一篇(入门)

前言 微信小程序出来已经有一段时间了,已经有很多大牛都写过相关教程了,那么我为啥还要写这篇文章呢?其实仅仅是个人对微信开发的一个兴趣吧,觉得是个很有意思的事情,后面有时间可能会发更多关于小程序的文章,刚刚接触,如果哪里写的有问题欢迎大家指正. 准备工作 首先需要下载微信小程序开发者工具 点击链接: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1455784140&token=&lang=zh_CN进入微信公众平台技术

SaltStack 入门到精通 - 第一篇: 安装SaltStack

实际环境的设定: 系统环境: centos6 或centos5 实验机器: 192.168.1.100 软件需求: salt 套件,及其需求环境 实验目的: 成功安装salt,并实现salt主从间通讯 特殊设置: 其它目的: 安装SaltStack(下面简称为salt) epel安装:salt安装需要epel源支持,所以在安装salt前需要先安装epel包 # centos5 下载下面rpm  wget -O    epel.rpm https://dl.fedoraproject.org/pu

【OpenCV入门指南】第一篇 安装OpenCV

[OpenCV第一篇]安装OpenCV 本篇主要介绍怎样下载OpenCV安装程序,怎样在VS2008下安装配置OpenCV,文章最后还介绍了一个使用OpenCV的简单小样例. <OpenCV入门指南>系列文章地址:http://blog.csdn.net/morewindows/article/category/1291764 一.OpenCV的下载 能够到http://www.opencv.org.cn/index.php/Download,然后选一个较新版本号下载.我下的是V2.3.1版本

Spring框架第一篇之简单入门

一.下载Spring的jar包 通过http://repo.spring.io/release/org/springframework/spring/地址下载最新的Spring的zip包,当然,如果你是在使用maven工程的话,可以不用下载Zip包,可以直接在maven工程的pom.xml文件中添加Spring的依赖即可. 二.创建工程导入jar包 第一篇的内容记录一些入门知识点,所以只需要导入几个必要的基础包则可,这里项目只导入Spring的以下几个包: spring-core-4.3.9.R

html/css入门第一篇

1.基本教程学习 大概三天业余时间看完下面两个教程. HTML文字教程 CSS文字教程 2.练习 看完教程后,做第一练习时,总结如下: 1)div居中 需要设置属性:margin-left:auto; margin-right:auto; 2) 给图片加链接后,图片有边框,消除边框方法:给图片设置属性 border-width:0px; 3)图片相连时,图片间有距离,消除图片间距离:给图片设置属性 display: block; html/css入门第一篇