篇一:DWR经典实例两个
测试调试的两个DWR应用实例
简单DWR实例
java文件中的数据异步刷新到jsp页面,实现了局部刷新,java数据与javascript数据的交换。 数据库连接DWR实例
连接数据库,利用DWR异步刷新将数据插入到person表的username,password字段中。
开发工具:windows7,myeclipse
需要事先准备的环境:jdk1.6,tomcat7.0,mysql5.0
辅助工具:mysql-front
详细操作
简单DWR实例
(1) DWR环境配置 下载dwr.jar和commons-logging-1.0.4.jar,把它放到你的webapp的WEB-INF/lib目录下。(不能缺少,缺少会出错,这个包可以在struts-2.0.11.2-all.zip中找到,你可以去struts下载struts-2.0.11.2-all.zip。)
(2) 配置文件web.Xml
<?xmlversion="1.0"encoding="UTF-8"?>
<web-appversion="3.0"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name></display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- dwr config -->
<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>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
<!-- end of dwr -->
(3) </web-app>新建配置文件dwr.Xml(位置与web.xml相同) <?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEdwrPUBLIC"-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN""http://getahead.org/dwr/dwr30.dtd">
<dwr>
<allow>
<!-- simple text javascript ? -->
<createcreator="new"javascript="JHello">
<paramname="class"value="net.mzzo.dwr.test.HelloWorld"/>
<includemethod="sayHello"/>
</create>
</allow>
</dwr>
(4) Java文件编写(文件状况如右下图)
Src文件目录下net.Mzzo.dwr.test下新建java文件(new->class),HelloWorld.Java. .
package net.mzzo.dwr.test;
publicclass HelloWorld {
public String content1;
public String content2;
public String sayHello(String name){
content1=name;
content2="人生如梦";
return"页面输入的内容:"+name+",赋值给java成员:"+content1+",自赋值成员:"+content2;
}
}
(5) Index.jsp
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
<!DOCTYPEHTMLPUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"> <html>
<head>
<title>Hello World!</title>
<scripttype='text/javascript'src='dwr/engine.js'></script> <scripttype='text/javascript'src='dwr/util.js'></script>
<!-- JHello是dwr.xml -->
<scripttype='text/javascript'src='dwr/interface/JHello.js'></script> <scripttype="text/javascript">
function hello(){
var
name;
name=document.getElementById("g1").value;
JHello.sayHello(name,haolejiawo);
}
function haolejiawo(serverReturnString){
alert(serverReturnString);
dwr.util.setValue("g2", serverReturnString);
}
//var name = dwr.util.getValue("demoName");
// dwr.util.setValue("demoReply", data);
</script>
</head>
<body>
<divstyle="margin:auto; width:50%;">
<inputtype="text"id="g1"value="Hello World">
<inputtype="button"onclick="hello()"value="submit">
<divstyle="border:solid 1px #ccc; margin-top:20px;" id="g2"></div> </div>
</body>
</html>
(6) 部署进服务器并启动,浏览器输入http://localhost:
数据库连接DWR实例
(1) mysql数据库名称为test1,新建数据表
(2) create table person(
(3) username varchar(20) primary key,
(4) password varchar(20)
(5) );
导入mysql的jdbc包
person
篇二:dwr的简单讲解和例子
Dwr
1.流程
1.1流程
1.搭建好dwr的环境,配置好配置文件
2.在页面上写一个javascript函数
3.在后台java代码来完成指定的业务逻辑并输出
4.用前台编写的javascript函数来获取后台结果及时进行善后处理(也就是我们要在页面中显示我们期望达到的效果)
1.2流程图
2.例子
例如:客户注册时的客户编号的验证 1. 页面的输入框
<td align="right" width="10%" nowrap="true">
客户编号 </td> <td width="20%"> <s:textfield name="client.code"
cssClass="TextInput" id="code" onfocus="show_message('msg_code','2','请输入编号!');"
onblur="out_code()"/><!—onblur中触发的方法为我们在javascript中编写的函数方法 -->
<div style="display:show" id="msg_code" class="box_div_right"></div></td>
2. 页面中javascript代码
<script type='text/javascript' src='dwr/interface/client.js'></script> //这里src中的地址前面“dwr/interface/”不改变,后面的client.js名字要和我们在、//dwr.xml中配置文件中 <create creator="spring" javascript="client">中的//javascript中一样
<script type='text/javascript' src="dwr/engine.js"></script>
<script type="text/javascript">
var textCode;
if(trimString(textCode.value).length>0&&trimString(textCode.value
} client.findClientByCode(textCode.value,callBack); show_message('msg_code','0','编号不能为空且长度不能超过3位!codeChk=false; var codeChk=false; function init(){ textCode=document.getElementById("code"); textCode.focus(); } function out_code(){ codeChk=false; <script type='text/javascript' src="dwr/util.js"></script> ).length<4){ }else{');
} function callBack(data){ codeChk=false; if(data=="true"){ show_message('msg_code','0','输入的编号
['+textCode.value+'重复,请重新输入!]');
codeChk=false;
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet- <!-- 指定处于开发阶段的参数 --> <init-param><param-name>debug</param-name> <param-value>true</param-value> class>} }else{} show_code('msg_code','1','输入正确'); codeChk=true; window.onload=init; </script> <!-- Ajax框架的配置 引入DWR的servlet --> <servlet> <servlet-name>dwr</servlet-name> 3. web.xml配置文件 </init-param> </servlet> <servlet-mapping><servlet-name>dwr</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping> <!-- 客户编码重复验证 --> <create creator="spring" javascript="client"><param name="beanName" value="clientAction" /> 4. dwr.xml配置
<!-- value="clientAction" 这是我们action的名字 -->
<include method="findClientByCode" />
</create>
5. struts.xml中配置
<action name="clientAction" class="clientAction">
<!-- class="clientAction" 这是我们applicationContex.xml中action的名字 -->
6. applicationContex.xml中配置
<bean name="clientDao" class="com.zdsoft.slmsdemo.dao.ClientDao" parent="baseDao" />
<bean name="clientService" <property name="clientDao" ref="clientDao" /> class="com.zdsoft.slmsdemo.service.impl.ClientServiceImpl"> </bean> <bean name="(本文来自:WwW.xiaOCaofAnweN.Com 小草范文 网:dwr官网案例)clientAction" <property name="clientService" ref="clientService" /> class="com.zdsoft.slmsdemo.action.ClientAction" > </bean>
7. ClientAction.java中的查询编号的方法findClientByCode
//查询一个code的方法
public String findClientByCode(String code){
} System.out.print(code+"code"); if(clientService.findClientByCode(code)){} return "true"; return "false"; }else{
8.ClientService.java实现接口
public boolean findClientByCode(String code);
9.ClientServiceImpl.java中的方法
public boolean findClientByCode(String code){
} return clientDao.findClientByCode(code);
10.ClientDao.java中查询的方法
//从数据库中查询code,并返回一个true 或者false
public boolean findClientByCode(String code) {
} DetachedCriteria criteria.add(Restrictions.eq("code",code)); List<Client> client=findByCriteria(criteria); boolean b=false; if(client.size()>0){ } return b; b=true; criteria=DetachedCriteria.forClass(Client.class);
篇三:dwr3.0简单实例_1
1. 环境
myEclipse,dwr3.0,mysql;
2. 创建类User
3. 创建类UserDao :保存查找用户
4. DWR组件
DWR组件,提供javaScript访问的,需要将该类配置到dwr.xml中。
5. 创建jsp页面
function saveFun(data) { if(data) { alert("注册成功!"); }else{
alert("登陆ID已经存在..."); } } function onsave() { var userMap={}; userMap.id=regForm.id.value; userMap.name=regForm.name.value; userMap.password=regForm.password.value; userMap.email=regForm.email.value; DwrUserAccess.save(userMap,saveFun); } function findFun(data) { if(data==null) {alert("无法找到用户:"+queryForm.id.value); return; } alert("找到用户,
id:"+data.id+",name:"+data.name+",password:"+data.password+",email:"+data.email);
}
function onfind()
{
DwrUserAccess.find(queryForm.id.value,findFun) }
</script>
6. web.xml配置
7. dwr.xml配置