??xml version="1.0" encoding="utf-8" standalone="yes"?>911久久香蕉国产线看观看,欧美日韩一区综合,亚洲精品视频免费看http://www.aygfsteel.com/jim-jin/category/48397.html人生赯点!zh-cnFri, 14 Oct 2011 11:27:17 GMTFri, 14 Oct 2011 11:27:17 GMT60DWR学习W记http://www.aygfsteel.com/jim-jin/archive/2011/10/10/350886.html簡單單 簡單單 Mon, 10 Oct 2011 08:07:00 GMThttp://www.aygfsteel.com/jim-jin/archive/2011/10/10/350886.html一.DWR概述   
    DWR是Direct Web Remoting 的羃写?
    DWR 是一个开放源码的使用 Apache 许可协议的解x案,它包含服务器?Java 库、一?DWR servlet 以及 JavaScript 库。虽?DWR 不是 Java q_上唯一可用?Ajax-RPC工具包,但是它是最成熟的,而且提供了许多有用的功能?
    从最单的角度来说QDWR 是一个引擎,可以把服务器?Java对象的方法公开l?JavaScript 代码?/span>使用 DWR 可以有效C应用E序代码中把 Ajax 的全部请?响应循环消除?/span>?/span>q意味着客户端代码再也不需要直接处?XMLHttpRequest 对象或者服务器的响应?/span>不再需要编写对象的序列化代码或者用第三方工具才能把对象变?XML。甚至不再需要编?servlet 代码?Ajax h调整成对 Java 域对象的调用?/span> ]
    DWR 是作?Web 应用E序中的 servlet 部v的。把它看作一个黑盒子Q这?servlet 有两个主要作用:首先,对于公开的每个类QDWR 动态地生成包含?Web 面中的 JavaScript?br />?/span>成的JavaScript包含存根函数Q代表JavacM的对应方法ƈ在幕后执?XMLHttpRequest。这些请求被发送给 DWRQ这时它的第二个作用是把请求翻译成服务器端 Java 对象上的Ҏ调用q把Ҏ的返回值放?servlet 响应中发送回客户端,~码?JavaScript。DWR q提供了帮助执行常见的用L面Q务的 JavaScript 工具函数?br />
?使用Ҏ
    DWRQDirect Web RemotingQ是一个用于改善web面与JavacM互的q程服务器端Ajax开源框?可以帮助开发h员开发包含AJAX技术的|站.它可以允许在览器里的代码用运行在WEB服务器上的JAVA函数,像它就在浏览器里一栗?/div>
 它包含两个主要的部分:允许JavaScript从WEB服务器上一个遵循了AJAX原则的Servlet中获取数?另外一斚w一个JavaScript库可以帮助网站开发h员轻村֜利用获取的数据来动态改变网늚内容. DWR采取了一个类似AJAX的新Ҏ来动态生成基于JAVAcȝJavaScript代码.q样WEB开发h员就可以在JavaScript里用Java代码像它们是浏览器的本C?客户端代?一?但是Java代码q行在WEB服务器端而且可以自由讉KWEB 服务器的资源.Z安全的理?WEB开发者必适当地配|哪些Javacd以安全的被外部?
2.1、dwr.xml的配|?/span>
1   <dwr>
2     <allow>
3       <create creator="new" javascript="testClass" >
4          <include method="testMethod1"/> 
5     </create>
6    </allow>
7  </dwr>
8 

<allow>标签中包括可以暴?/span>javascript讉K的东ѝ?/span>

<create>标签中指?/span>javascript中可以访问的javac?q定?/span>DWR应当如何获得要进行远E的cȝ实例?/span>creator="new"属性指?/span>javacd例的生成方式Q?/span>new意味着DWR应当调用cȝ默认构造函数来获得实例Q其他的q有spring方式Q通过?/span>IOC容器Springq行集成来获得实例等{?/span>javascript=" testClass "属性指?/span>javascript代码讉K对象时用的名称?/span>标签指定要公开l?/span>javascript?/span>javacd?/span>

<include>标签指定要公开javascript的方法。不指定的话公开所有方法?/span>

<exclude>标签指定要防止被讉K的方法?/span>

入门视频:

http://www.verycd.com/groups/@g1897244/737357.topic

 

拓展阅读:

http://baike.baidu.com/view/73492.htm

http://blog.csdn.net/zhaizhanpo/archive/2008/09/27/2988512.aspx

 

http://blog.csdn.net/caterpillar_here/archive/2006/09/06/1186566.aspx

 

?实例

先下载DWR的JAR?下蝲地址:

 

 

http://getahead.ltd.uk/dwr/

demo(dwr-3.0.0.116.rc1-src\core\impl\demo\web\WEB-INF\lib)实例下的jar文g导入新徏目的web-inf/lib目录?另外q要加入dwr.jar.

(注意:要加入commons-logging-1.0.4.jar,~少有时候会报错.)

1.在web.xml文g中注册DWRServlet:负责处理客户端的hQƈ呼叫Java物g的是DWRServlet

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
 5     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">    
 6     <servlet>
 7         <servlet-name>dwr-invoker</servlet-name>
 8         <servlet-class>
 9             org.directwebremoting.servlet.DwrServlet
10         </servlet-class>
11         <init-param>
12             <param-name>debug</param-name>
13             <param-value>true</param-value>
14         </init-param>
15     </servlet>
16     
17     <servlet-mapping>
18         <servlet-name>dwr-invoker</servlet-name>
19         <url-pattern>/dwr/*</url-pattern>
20     </servlet-mapping>    
21 </web-app>

2.~写Java物g,即业务Bean:

1 package helloWorld;
2 
3 public class Service {
4     
5     public String sayHello(String yourName) { 
6         //可以是访问数据库的复杂代?/span>
7         return "Hello World " + yourName;
8         }
9 }

3.~写dwr.xml:客户端要呼叫q个Java物gQ传l它参数Q而返回一個字Ԍ客戶端再展示q个字串Q很奇吧?其实是是要告訴DWRServletqg事情Q?/p>

1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">
3 <dwr>
4     <allow>
5         <create creator="new" javascript="service">
6             <param name="class" value="helloWorld.Service" />
7         </create>
8     </allow>
9 </dwr>

4.试DWR

代码放入应用服务器Q比如TomcatQ,启动。然后在地址栏输入http://localhost:8080/你的工程/dwr

5.~写一个jsp
接下来最后一步就是创Z个jsp文g
1Q?要引用几个dwr的jsQ其中engine.js必须要,如果需要用到dwr提供的一些方便的工具要引用util.js
2Q?然后q要引用dwr自动生成的jsQdwr/interface/service.jsQ注意js名字要和dwr.xml配置的一?br /> 3Q?js里的service.sayHello和javacȝ那个有一点区别,多了个参敎ͼ用来callbackq回的数?br />index.jsp
 1 <%@ page language="java" pageEncoding="UTF-8"%>
 2 <html>
 3     <head>
 4         <title>testDWR</title>
 5         <script type='text/javascript' src='dwr/util.js'> </script>
 6         <script type='text/javascript' src='dwr/engine.js'> </script>
 7         <script type="text/javascript" src="dwr/interface/service.js"></script>
 8         <script type="text/javascript">
 9             function firstDwr() {
10                 service.sayHello("Jorwen", callBackHello);
11             }
12             function callBackHello(data) {
13                 alert(data);
14             }
15         </script>
16     </head>
17     <body>
18         <input type="button" name="button" value="试" onclick="firstDwr();">
19     </body>
20 </html>
6.地址栏输入http://localhost:8080/你的工程/index.jsp 昄的结果如下:

 


 





簡單單 2011-10-10 16:07 发表评论
]]> վ֩ģ壺 ɽ| Ϫ| | ̫ԭ| | | ͭ| Ϫ| | | | | ɽ| Ϫ| | | | ̫| ͬ| | ڰ| | | | ϴ| ײ| | | | | | ˶| ɽ| ɽ| | Ӷ| ܱ| ȷɽ| ۩| ͨ| ¡|