一个简单的DWR入门例子
http://di201yao.iteye.com/blog/164095
DWR是一个Open Source的 java项目。DWR可以让JavaScript调用运行在Web服务器里面的JAVA程序。简单一点或者专业一点就是Easy AJAX for JAVA.
官方网站:http://getahead.org/dwr
下面将一步一步的介绍怎么完成一个简单DEMO
开发工具NetBeans IDE 6.0+Apache Tomcat 6.0.14
1、从官方网站下载DWR.jar包(附件中也有)
把他直接放到Apache Tomcat 6.0.14\lib目录下面
2、编写一个Java类如下
![](http://di201yao.iteye.com/images/icon_copy.gif)
![](http://di201yao.iteye.com/images/icon_star.png)
![](http://di201yao.iteye.com/images/spinner.gif)
- package com.test.ajax;
- public class DWRTest {
- public DWRTest(){
- }
- public String getMyName(){
- return "Hello Ajax";
- }
- }
package com.test.ajax;
public class DWRTest {
public DWRTest(){
}
public String getMyName(){
return "Hello Ajax";
}
}
3、修改web.xml
![](http://di201yao.iteye.com/images/icon_copy.gif)
![](http://di201yao.iteye.com/images/icon_star.png)
![](http://di201yao.iteye.com/images/spinner.gif)
- <?xml version="1.0" encoding="ISO-8859-1"?>
- <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
- <web-app id="dwr">
- <servlet>
- <servlet-name>dwr-invoker</servlet-name>
- <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>dwr-invoker</servlet-name>
- <url-pattern>/dwr/*</url-pattern>
- </servlet-mapping>
- </web-app>
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app id="dwr">
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
</web-app>
4、把DRWTest类配置在dwr.xml中,dwr.xml是DWR的配置文件,所有需要在JavaScript中调用的java的类都必须在这个文件中描述 (必须与web.xml同级)
![](http://di201yao.iteye.com/images/icon_copy.gif)
![](http://di201yao.iteye.com/images/icon_star.png)
![](http://di201yao.iteye.com/images/spinner.gif)
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd">
- <dwr>
- <allow>
- <create creator="new" javascript="MyTest" scope="application">
- <param name="class" value="com.test.ajax.DWRTest"/>
- </create>
- </allow>
- </dwr>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd">
<dwr>
<allow>
<create creator="new" javascript="MyTest" scope="application">
<param name="class" value="com.test.ajax.DWRTest"/>
</create>
</allow>
</dwr>
5、编写调用DWRTest类中的getMyName方法的jsp文件
![](http://di201yao.iteye.com/images/icon_copy.gif)
![](http://di201yao.iteye.com/images/icon_star.png)
![](http://di201yao.iteye.com/images/spinner.gif)
- <%@ page language="java" contentType="text/html; charset=GB18030"
- pageEncoding="GB18030"%>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=GB18030">
- <title>DWR - Test Home</title>
- <script type='text/javascript' src='dwr/interface/MyTest.js'></script>
- <script type='text/javascript' src='dwr/engine.js'></script>
- <script type='text/javascript' src='dwr/util.js'></script>
- <script language="javascript">
- var mycall=function callBack(data){
- DWRUtil.setValue("demo1",data);
- }
- function showMyName(){
- MyTest.getMyName(mycall);
- }
- function clearName(){
- demo1.value="";
- }
- </script>
- </head>
- <body>
- <h1>Ajax Test Page</h1>
- <input type="button" value="显示姓名" οnclick="javascript:showMyName()">
- <input type="button" value="清空" οnclick="javascript:clearName()"><br>
- <input type="text" id="demo1"><br>
- </body>
- </html>
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>DWR - Test Home</title>
<script type='text/javascript' src='dwr/interface/MyTest.js'></script>
<script type='text/javascript' src='dwr/engine.js'></script>
<script type='text/javascript' src='dwr/util.js'></script>
<script language="javascript">
var mycall=function callBack(data){
DWRUtil.setValue("demo1",data);
}
function showMyName(){
MyTest.getMyName(mycall);
}
function clearName(){
demo1.value="";
}
</script>
</head>
<body>
<h1>Ajax Test Page</h1>
<input type="button" value="显示姓名" οnclick="javascript:showMyName()">
<input type="button" value="清空" οnclick="javascript:clearName()"><br>
<input type="text" id="demo1"><br>
</body>
</html>
6、运行,在浏览器中输入 http://localhost:8084/WebApplication/
附件中是本人做好的例子和dwr.jar包
- NetBeansProjects.rar (445.6 KB)
一个简单的DWR入门例子相关推荐
- 一个简单的iBatis入门例子
一个简单的iBatis入门例子,用ORACLE和Java测试 目录结构: 1.导入iBatis和oracle驱动. ibatis-2.3.4.726.jar ojdbc14.jar 2.创建类com/ ...
- 一个简单的三层架构例子(.NET入门)
最近开始学习.NET 用的是c# 目前要用三层架构的模式开发一个简单的图书管理系统,不过以为刚接触这门技术.做起来分外吃力,甚至连究竟要写些什么都不清楚. 于是乎上网到处找寻三层架构的基础入门知识,终 ...
- 一个简单的epoll测试例子
一个简单的epoll测试例子 一段简单的epoll测试例子,编译运行后可以直接用浏览器访问localhost来测试. 1 #include <unistd.h> 2 #include &l ...
- diybox路由器设置教程_一个简单的无线路由器入门设置教程,非常实用
原标题:一个简单的无线路由器入门设置教程,非常实用 分享给朋友们一个简单的无线路由器入门设置教程,教大家怎么使用无线路由器.如何设置使用,非常实用. 一.无线路由器基本使用方法 1.拿到手的无线路由器 ...
- linux下glew例子,一个简单的GLSL Shader例子
本例子选自OpenGL Shading Language中的第一个Shader例子,使用颜色平滑地表示一个表面的温度.温度及其颜色的范围在应用程序中进行设置. //先看顶点着色器temp.vert: ...
- 一个简单的规则引擎例子
本例使用的规则引擎包是RulesEngine,关于RulesEngine的介绍,请自行补充,这里只是一个极简单使用场景. 例子大体就是用户有一些优惠券,系统会根据用户订单情况,筛选可以使用的优惠券供用 ...
- 一个简单的马尔可夫过程例子
什么是马尔可夫过程(Markov Process) 要说什么是马尔可夫过程,首先必须讲讲什么是随机过程(Stochastic Process). 設 (Ω,,P) (\Omega, \mathcal ...
- 如何写一个简单java接口的例子(内容详细,适合初学者)
这里说一个简单的java接口的小例子(一个接口类,两个实现类) 先新建一个动态web工程: 我的项目目录是这样子的(接口写完之后目录) 先在test0609_test1包下new 一个interfac ...
- 一个简单的FastAPI入门项目
FastAPI Demo项目 一个简单的使用FastAPI框架搭建的服务,包含了基本的数据库链接以及CRUD操作.请求体模式的定义.基本路径操作函数的编写等,非常适合fastapi入门者. 说明: 1 ...
最新文章
- altium designer布线调整时不自动删除旧线
- 2017年11月01日普及组 I Got a Matrix!
- 'staticfiles' is not a registered tag library. Must be one of:
- Centos 安装 Chrome
- PHP编写shell
- 软件测试宝藏图_tSQLt –数据库单元测试中被遗忘的宝藏
- 【编程珠玑】第六章 程序性能分析
- [整理] TPM 2.0 设备串口通讯协议中文文档
- Android 监听 摇杆,Android虚拟摇杆 摇杆 方向控制
- 如何才能把qlv格式转换成mp4格式
- Aho-Corasick(AC自动机)
- python数据可视化方法和库
- android开发之高仿中国建设银行App
- 关于网络安全行业你知道多少?
- 嵌入式linux开发,对pcf8563时钟操作报错:rtc-pcf8563 0-0051: low voltage detected, date/time is not reliable.
- NVP2650D+OX03C10,方案参考设计
- 机械键盘 酒精大法
- python中字符串的基本操作_python字符串的基本操作
- 以太网交换芯片行业研究及十四五规划分析报告
- 一个男人关心的东西 决定了他的层次
热门文章
- iOS之深入解析图片解压缩到渲染的过程与原理
- iOS之“支付宝支付”开发流程
- 2019年第十届蓝桥杯 - 省赛 - Java研究生组 - A. 立方和
- 2015年第六届蓝桥杯 - 省赛 - C/C++大学B组 - F. 加法变乘法
- PyTorch - torchvision - datasets
- 深入分析python的and or 返回值
- 树莓派AI视觉云台——6、Linux常用命令及vim编辑器的使用
- 2018年第九届蓝桥杯C/C++ A组国赛 —— 第四题:约瑟夫环
- 《python从入门到精通》——生成由数字、字母组成的4位验证码
- 【Qt】数据库实战(一)