本站首页    管理页面    写新日志    退出


«November 2025»
1
2345678
9101112131415
16171819202122
23242526272829
30


公告
 本博客在此声明所有文章均为转摘,只做资料收集使用。

我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:
日志总数:1304
评论数量:2242
留言数量:5
访问次数:7649188
建立时间:2006年5月29日




[DWR(Ajax)]DWR1.1.1的基本应用
软件技术,  电脑与网络

lhwork 发表于 2006/7/8 18:27:30

DWR(直接Web远程控制)项目是在Apache许可下的一个开源的解决方案,它供给那些想要以一种简单的方式使用AJAX和 XMLHttpRequest的开发者。它具有一套Javascript功能集,它们把从HTML页面调用应用服务器上的Java对象的方法简化了。它操 控不同类型的参数,并同时保持了HTML代码的可读性。DWR不是对一个设计的插入,也不强迫对象使用任何种类的继承结构。它和 servlet框架内的应用配合的很好。对缺少DHTML编程经验的开发者来说,DWR也提供了一个JavaScript库包含了经常使用的DHTML任 务,如组装表,用item填充select下拉框,改变HTML元素的内容,如<div>和<span>DWR网站是详尽的并且有大量的文档,这也是这篇文章的基础。一些例子用来展示DWR如何使用和用它的库可以完成什么样的工作。首先要加DWR的JAR包到你的CLASSPATH中或者Web应用的WEB-INF/lib目录中然后在web.xml中增加一个servlet声明,并创建DWR的配置文件。DWR的分发中需要使用一个单独的jar文件。你必须将DWR servlet加到应用的WEB-INF/web.xml中。   <servlet>        <servlet-name>dwr-invoker</servlet-name>        <display-name>DWR Servlet</display-name>        <description>Direct Web Remoter Servlet</description>        <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>        <init-param>            <param-name>debug</param-name>     //当DWR在调试模式时,            <param-value>true</param-value>       //你可以从HTMl网页中看到所有的可访问的Java对象        </init-param>     </servlet>    <servlet-mapping>        <servlet-name>dwr-invoker</servlet-name>        <url-pattern>/dwr/*</url-pattern>    </servlet-mapping>现 在你必须让DWR知道通过XMLHttpRequest对象,什么对象将会接收请求。这个任务由叫做dwr.xml的配置文件来完成。在配置文件中,定义 了DWR允许你从网页中调用的对象。从设计上讲,DWR允许访问所有公布类的公共方法,但在我们的例子中,我们只允许访问几个方法。下面是我们示例的配置 文件:<dwr>   //初始化一个转换器,在DWR的默认里面没有我们需要的转换的时候 可以用到      <init>        <converter id="conver" class="com.xxx.util.*" />    </init>    <allow>   //创建一个JAVABEAN 转换为JAVASCRIPT 对象 因为DWR默认的不会转换普通bean   //不带param  默认访问所有该BEAN的所有属性       <convert converter="bean" match="com.xxx.entity.Comments">            <param name="include" value="id,articleId,author,email,content,time,status" />     </convert>        //新建一个存在的方法,默认访问该类所有的方法,加上include method就只访问列出的方法    <create creator="new" javascript="ApartmentDAO" class="dwr.sample.ApartmentDAO">            <include method="findApartments"/>            <include method="countApartments"/>        </create>//结合SPRING的BEAN      <create creator="spring" javascript="pageGenerationService">         <param name="beanName" value="pageGenerationService" />     </create>    </allow></dwr>配 置完成后,你就可以启动你的Web应用了,这时DWR会为从你的HTML或Java服务器端页面(JSP)上调用所需方法作好准备,并不需要你创建 JavaScript文件。在jsp文件中, 我们必须增加由DWR提供的JavaScript接口,还有DWR引擎,加入以下三行到我们的代码中:<script src='dwr/interface/ApartmentDAO.js'></script><script src='dwr/interface/pageGenerationService.js'></script>  <script src='dwr/engine.js'></script>  <script src='dwr/util.js'></script>然后你就可以在JAVASCRITP中调用了pageGenerationService.method();ApartmentDAO.findApartments();ApartmentDAO.countApartments();安全因素为 了保持示例的简要,ApartmentDAO类尽可能的保持简单,但这样的一个类通常有一组设置方法来操作数据,如insert(), update()和delete()。DWR暴露了所有公共方法给所有的HTML页面调用。出于安全的原因,像这样暴露你的数据访问层是不明智的。开发者 可以创建一个门面来集中所有JavaScript函数与底层业务组件之间的通信,这样就限制了过多暴露的功能。


阅读全文(1825) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.840 second(s), page refreshed 144791834 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号