littleQ

终于明白曾经他们失落的目光,当年的你们是否一样;间有懈怠或有颓放,难知多久方能补上;今起,不再彷徨!

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  33 Posts :: 0 Stories :: 60 Comments :: 0 Trackbacks

from: http://littlez.javaeye.com/blog/231133

dwr可以让我们在浏览器中使用javascript调用服务器端的java代码。
dwr主要包括两部分:
运行在客户端的js代码发送请求到服务器端;
服务器端的dwr servlet处理请求,并将结果和数据返回到客户端。
有一张关于dwr很精确的图:


DWR简单配置:
1.首先dwr.jar是必须的。下载后放在/WEB-INF/lib目录下。

2.在/WEB-INF/目录下,增加一个dwr.xml文件。格式如下: 

<dwr>  
    <allow>
  
        <create creator="new" javascript="JDate">
  
            <param name="class" value="java.util.Date"/>
  
        </create>
  
        <create creator="spring" javascript="winnerService">
  
            <param name="beanName" value="dwrWinnerService"/>
  
        </create>
  
    </allow>
  
</dwr>

根节点是dwr,我在第一次配置这个dwr.xml的时候,忽略掉了,根结点直接就是allow,然后就一直报错,很脑残的错误。所以在这里也稍微提醒一下。
create的creator属性常用的为new和spring。new就是每次调用的时候,都会实例化一个新的对象来处理请求;spring就是从Spring的配置文件中取得bean。
以JDate为例,javascript属性是DWR动态为服务器端的Date类(java)生成一个相应的客户端JDate类(Javascript)。JDate可以使用Date的所有public方法。

3. 配好了dwr.xml,接下来配置/WEB-INF/web.xml。我们需要在web.xml中增加如下<servlet>和<servlet-mapping>: 

<servlet>  
  <servlet-name>dwr-invoker</servlet-name>
  
  <display-name>DWR Servlet</display-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>

这个servlet就是用来处理dwr发送的请求。

 
4. dwr访问
这时候,如果你已经在本地启动了你的应用(假设是在tomcat中),可以访问如下URL:

http://localhost:8080/[YOUR-APP-NAME]/dwr

你会看到在dwr.xml配置的两个类.点击JDate,可以看到所有可以调用的方法,并且可以点击,在按钮的右边看到点击的反馈.
在这个页面的上方,你还会看到如下代码:

<script src='/[YOUR-APP-NAME]/dwr/interface/JDate.js'></script>  
<script src='/[YOUR-APP-NAME]/dwr/engine.js'></script>  

当你的页面需要使用JDate时,就必须把上面的script代码片段放到你的页面中。

<script type="text/javascript">  
    JDate.toString({   
        callback: function(str) { alert(str); }   
   });   
</script>

我们就可以使用JDate了.
这里主要是为了介绍一下dwr最基本的使用,那么dwr的一些其他能力,比如超时处理和错误处理,就不在这里说了.

posted on 2008-08-23 23:06 littleQ 阅读(247) 评论(0)  编辑  收藏 所属分类: java

只有注册用户登录后才能发表评论。


网站导航: