基于dwr框架的简单实例 转帖
2008-12-18 22:15
288 查看
基于dwr框架的简单实例
前面用ajax做页面局部刷新和级联下拉框时,感觉确实有蛮麻烦的,只能返回Html和Xml格式,这样在jsp页面还要用javascript解析 Xml文档.感觉不怎么爽.今天用了一个基于ajax实现的dwr框架.嗯,蛮不错的,可以返回对象,集合,map等等到jsp页面.这样我们便不用解析什么了,而且dwr可以让客户端直接调用服务器端远程对象的方法,也可以将javascript的内容发送到服务器.简单介绍下使用DWR框架的基本步骤. 1,下载dwr的jar包. 2,将jar包复制到WEB-INF目录下的lib文件夹下. 3,在web.xml中注册dwr的一个servlet. 4,写相关的javaBean业务操作类及方法. 5,写配置文件,取名为dwr.xml,与web.xml同一个目录下,注册将要操作的javaBean. OK,下面就来看个登录简单的实例吧. web.xml文件如下: <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> dwr.xml文件如下: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd"> <dwr> <allow> <!--此处将pojos包下的所有javaBean转换为javascript对象使用--> <convert match="org.hj.pojos.*" converter="bean"></convert> <!-- javascript的对象是user,create=“new”是DWR自己创建UserDelegate这个类的实例,其他的还有spring方式,通过与IOC容器Spring进行集成 --> <create javascript="user" creator="new"> <param name="class" value="org.hj.delegate.UserDelegate"></param> <!-- include表示客户端可以通过user调用服务器对象的方法,如果不写,则表示可调用这个类的所有方法.可写可不写--> <include method="isLogin"/> <exclude method="save"/><!--此处表示不允许调用的一个方法,可写可不写--> </create> </allow> </dwr> 处理业务的类及方法如下: public class UserDelegate { private static UsersDao dao=new UsersDao(); public boolean isLogin(String name,String pwd){ Users u=new Users(); u.setUsername(name); u.setPwd(pwd); return dao.isLogin(u);//(略...) }}.............. OK,最后就一个jsp页面.封装了很多方法供我们直接使用 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html> <!--引入dwr根据dwr.xml中的javascript="user"此处,自动生动个user的js对象供使用--> <script type="text/javascript" src="${pageContext.request.contextPath}/dwr/interface/user.js"></script> <!--引入dwr的util.js--> <script type="text/javascript" src="${pageContext.request.contextPath}/dwr/util.js"></script> <!--引入dwr的engine.js--> <script type="text/javascript" src="${pageContext.request.contextPath}/dwr/engine.js"></script> </head> <body> 用户名:<input type="text" id="usename" /> 密 码:<input type="password" id="pwd"/> <input type="button" value="登录" onclick="login()" /> </body> <script type="text/javascript"> function login(){ var usename=dwr.util.getValue("usename"); <!--通过dwr中的util得到文本框的值,必须是id的值--> var pwd=dwr.util.getValue("pwd"); <!--此处为user对象远程调用服务器的isLogin方法,传参,还一个返回值,这里用一个匿名的回调函数来处理--> user.isLogin(usename,pwd,function(isLogin){ if(isLogin) locatio.href="list.jsp"; (博客不支持,应该为location) else{ alert("用户名或密码错误"); return false; } }); } </script> </html> 怎么样,是不是没有servlet了.dwr可直接访问服务器端方法.OK,不知道讲没讲明白,大家就一起讨论吧.欢迎交流....^_^ |
相关文章推荐
- Dwr 框架简单实例
- Dwr 框架简单实例
- Dwr 框架简单实例
- DWR框架简单实例 (http://my.oschina.net/u/1790925/blog/366346)
- 一个简单的DWR框架实例
- 服务器推送技术原理分析及dwr框架简单的使用
- 服务器推送技术原理分析及dwr框架简单的使用
- Lucene(全文检索框架) 简单实例
- 基于.NET CORE微服务框架 -surging的介绍和简单示例 (开源)
- 基于dwr框架的java推送
- 基于.NET 的WebSocket 的简单实例 --- 在线聊天室
- DWR 实现联动的简单小实例
- 用最简单的方式实现基于libevent框架的http client客户端
- 网络请求----简单框架使用------(百度图片下载实例)
- JStorm学习笔记-基于Kafka、ElasticSearch、HBase简单实例
- 基于Axis的WebService简单实例
- Spring+SpringMVC+MyBatis框架一个简单工程的搭建实例
- 最简单的动态代理实例(spring基于接口代理的AOP原理)
- web服务器原理解释——基于Java的简单服务器实例
- 基于spring3.0.5 mvc 简单用户管理实例