闲来没事,对dwr框架进行了简单的学习,小总结一下,以备忘、
首先就是导包了,dwr.jar以及commons-logging-1.1.jar[见附件]
接下来需要对web.xml进行配置;
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>uk.ltd.getahead.dwr.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>
记不住uk.ltd.getahead.dwr.DWRServlet没问题,打开dwr.jar包你就会看到它了。
首先建立一个JavaBean,
public class PersonBean {
private String name;
private int age;
private String gender;
public PersonBean(){}
public PersonBean(String name,int age,String gender){
this.name = name;
this.age = age;
this.gender = gender;
}
setter和getter。。。
再建立一个service类,写了简单的三个方法,
public class DwrServer {
public List<PersonBean> getAllPerson(){
ArrayList<PersonBean> persons = new ArrayList<PersonBean>();
PersonBean p1 = new PersonBean("Lucy",12,"女");
PersonBean p2 = new PersonBean("Jam",13,"男");
persons.add(p1);persons.add(p2);
return persons;
}
public String print(PersonBean bean){
return bean.getName()+"的年龄是:"+String.valueOf(bean.getAge())+",性别是:"+bean.getGender();
}
public int getLength(List list){
for(int i=0;i<list.size();i++){
System.out.println(list.get(i) instanceof String);
}
return list.size();
}
}
然后再WEB-INF中建立一个dwr.xml【xml名称固定不变】,没有dtd文件怎么办?
不用着急,把你的dwr.jar包打开,在org.directwebremoting包里面,你会看到默认的dwr.xml和dwr10.dtd、dwr20.dtd等等,你可以直接复制该包里的dwr.xml中的头到你的dwr.xml中,也可以根据dtd建立dwr.xml。
接下来完善dwr.xml,
<dwr>
<allow>
<convert match="com.aokunsang.dwr.bean.PersonBean" converter="bean"></convert>
<create javascript="getPerson" creator="new">
<param name="class" value="com.aokunsang.dwr.server.DwrServer"></param>
<include method="print"/>
<include method="getLength"/>
<include method="getAllPerson"/>
</create>
</allow>
<signatures>
<![CDATA[
import java.util.List;
getPerson.getLength(List<String> list);
]]>
</signatures>
</dwr>
最后,写一个jsp或者html页面,我就直接使用Myeclipse生成的index.jsp了。首先得导入两个js,当然如果你想使用dwr的util工具包,你还要导入util.js、
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<script type="text/javascript" src="<%=path%>
/dwr/interface/getPerson.js"></script>
<script type="text/javascript" src="<%=path%>
/dwr/engine.js"></script>
<style type="text/css">
#newTable{width:50%;margin:10px 0;text-align:center}
th{font-size:20px;color:red;font-family:华文行楷}
table,th,td{border:1px solid #10FF15;border-collapse:collapse}
</style>
js的路径怎么设置,很模糊,请高手给小弟提供宝贵意见,谢谢。当然,我这样写也没有问题,太过于麻烦了而已、
<table id="newTable">
<tr>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
</tr>
</table>
</body>
<script type="text/javascript">
window.onload = function(){
//DWREngine.beginBatch();
getCount();
printPerson();
getPerson.getAllPerson(showPerson);
//DWREngine.endBatch();
}
function showPerson(data){
var _table = document.getElementById("newTable");
for(var i=0;i<data.length;i++){
var _row = _table.insertRow(_table.rows.length);
_row.insertCell(0).appendChild(document.createTextNode(data[i].name));
_row.insertCell(1).appendChild(document.createTextNode(data[i].age));
_row.insertCell(2).appendChild(document.createTextNode(data[i].gender));
}
}
function printPerson(){
person = {};
person.name = "jack";
person.age = "12";
person.gender = "男";
getPerson.print(person,{callback:function(data){alert(data);}})
}
function getCount(){
var arr = new Array();
arr[0]=12;
arr[1]=11;
arr[2]=14;
getPerson.getLength(arr,{callback:function(data){alert(data);}})
}
</script>
ok,一切就绪,打开你的浏览器试试吧,输入http://localhost:8080/dwrTest/index.jsp,你就会看到想要的结果,截图如附件a.jpg。关于dwr的原理以及它的配置文件详情等等,待续....
- 大小: 13.4 KB
分享到:
相关推荐
dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr...
dwr.demo dwr实例dwr.demo dwr实例dwr.demo dwr实例dwr.demo dwr实例dwr.demo dwr实例dwr.demo dwr实例dwr.demo dwr实例
dwr学习实例 初学者的宝,dwr学习实例 dwr实例 dwr初学者实例教程
一个简单DWR学习二级菜单实例一个简单DWR学习二级菜单实例一个简单DWR学习二级菜单实例一个简单DWR学习二级菜单实例一个简单DWR学习二级菜单实例一个简单DWR学习二级菜单实例一个简单DWR学习二级菜单实例
该实例是一个简单的DWR实例,是用来学习DWR的一个实例。
dwr2.0.4以上版本实现了推技术有3种详细网上有介绍,实例很难下得到,这边是自己做的和dwr官网的实例很珍贵
springMVC+dwr技术实现消息推送实例,简单实例演示如何用dwr实现后台向前台主动推送消息
自己写的dwr实例。方便大家学习,包括jar文件,希望对大家有帮助
dwr经典实例(9个常用实例)dwr经典实例(9个常用实例)
dwr实例操作+rmi实例操作 dwr实例操作+rmi实例操作
将资源放到tomcat中,运行tomcat以后自动解压成文件夹。里面包含dwr需要的jar包。初学者可以根据里面的实例学习。
一些DWR的学习资料,包括DWR的使用笔记,DWR的界面开发,和DWR的中文文档等
dwr整合ssh综合实例,里面运用了大量的dwr技术
DWR实现AJAX验证实例,通过输入的数查询数据库字段是否存在。在前台显示。eclips实现。
DWR学习资料 :DWR 3.0 上传文件.txt DWR3.0反向Ajax示例.txt DWR3.0...多人聊天室.doc 反向Ajax技术实例.txt 基于DWR反向AJAX的Web监控系统.doc 深入学习DWR3.0.txt 实战dwr.doc 使用Jetty和DWR创建伸缩性Comet程序.txt
dwr学习实例(简单登陆,完整包版,下载可直接跑) 刚做好,用的sql2005+myEclipse8.5+Hb3.2就是没做好可以注册用户名的提醒,学习中。。!
DWR实例学习,实例下载之后可以运行,有对应的DWR jar文件
dwr+spring 的消息发布小例子,增删改查都有,好东西要大家分享!
dwr最简单的实例,网上找了很多的例子,看了一下,基本上都是转载一个地方的,初学者看了会很迷茫,不过讲解的很好,我这里只是把代码整理了一下,想了解详细情况的可以上网搜索一下,要代码实现的话,可以看我共享...
DWR消息推送简单实例。maven工程。