Spring 2.5 & Dwr 2.0 配置文档

本文档详细介绍了如何将Spring2.5与Dwr2.0进行集成,包括配置Web.xml以支持Spring和Dwr,编辑Spring配置文件applicationContext.xml以加入Dwr配置,以及在JSP页面中调用Dwr方法的具体步骤。

Spring 2.5 & Dwr 2.0 配置文档

1 编辑Web.xml 加 入对 Spring dwr的支持

 

Java代码
  1. <servlet >   
  2.     <servlet-name> dwr-invoker </servlet-name>   
  3.     <servlet-class >   
  4.           org.directwebremoting.spring.DwrSpringServlet  
  5.     </servlet-class >   
  6.     <init-param>   
  7.           <param-name> debug </param-name>   
  8.           <param-value> true  </param-value>   
  9.     </ init-param>   
  10.     <load-on-startup>3 </load-on-startup>   
  11. </servlet>   
  12. <servlet-mapping>   
  13.      <servlet-name>dwr-invoker</servlet-name>   
  14.      <url-pattern>/dwr/*</url-pattern>  
  15. </servlet-mapping>   
<servlet > 
    <servlet-name> dwr-invoker </servlet-name> 
    <servlet-class> 
          org.directwebremoting.spring.DwrSpringServlet
    </servlet-class> 
    <init-param> 
          <param-name> debug </param-name> 
          <param-value> true </param-value> 
    </ init-param> 
    <load-on-startup>3</load-on-startup> 
</servlet> 
<servlet-mapping> 
     <servlet-name>dwr-invoker</servlet-name> 
     <url-pattern>/dwr/*</url-pattern>
</servlet-mapping> 


 

   这里有个小技巧:查看Dwr源码,在DwrSpringServlet 中, 它会查找Spring的WebApplicationContext,如下:

 

 

Java代码
  1. WebApplicationContext webappContext = WebApplicationContextUtils.getRequiredWebApplicationContext (servletContext);   
  2. container = new  SpringContainer();   
  3. container.setBeanFactory(webappContext);   
  4. ContainerUtil.setupDefaults(container, servletConfig);   
  5. ContainerUtil.setupFromServletConfig(container, servletConfig);   
WebApplicationContext webappContext = WebApplicationContextUtils.getRequiredWebApplicationContext (servletContext); 
container = new SpringContainer(); 
container.setBeanFactory(webappContext); 
ContainerUtil.setupDefaults(container, servletConfig); 
ContainerUtil.setupFromServletConfig(container, servletConfig); 


 

    所以,你必须在Web.xml 中加上Spring 的ContextLinstener才能正常使用Dwr:

 

 

Java代码
  1. <!--Configurate Spring first!-->   
  2. <context-param>   
  3.      <param-name>contextConfigLocation</param-name>   
  4.      <param-value>   
  5.            /WEB-INF/applicationContext.xml   
  6.      </param-value>   
  7. </context-param>   
  8. <listener>   
  9.      <listener-class >  
  10.           org.springframework.web.context.ContextLoaderListener     
  11.      </listener-class >   
  12. </listener>   
  13.    
  14. <servlet>   
  15.      <servlet-name>dwr-invoker</servlet-name>   
  16.      <servlet-class >   
  17.            org.directwebremoting.spring.DwrSpringServlet   
  18.      </servlet-class >   
  19.      <init-param>   
  20.           <param-name>debug</param-name>   
  21.           <param-value>true </param-value>   
  22.      </init-param>   
  23.      <load-on-startup>3 </load-on-startup>   
  24. </servlet>   
  25. <servlet-mapping>   
  26.      <servlet-name>dwr-invoker</servlet-name>   
  27.      <url-pattern>/dwr/*</url-pattern>   
  28. </servlet-mapping>   
<!--Configurate Spring first!--> 
<context-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value> 
           /WEB-INF/applicationContext.xml 
     </param-value> 
</context-param> 
<listener> 
     <listener-class>
          org.springframework.web.context.ContextLoaderListener   
     </listener-class> 
</listener> 
 
<servlet> 
     <servlet-name>dwr-invoker</servlet-name> 
     <servlet-class> 
           org.directwebremoting.spring.DwrSpringServlet 
     </servlet-class> 
     <init-param> 
          <param-name>debug</param-name> 
          <param-value>true</param-value> 
     </init-param> 
     <load-on-startup>3</load-on-startup> 
</servlet> 
<servlet-mapping> 
     <servlet-name>dwr-invoker</servlet-name> 
     <url-pattern>/dwr/*</url-pattern> 
</servlet-mapping> 

 

说明:

org.directwebremoting.spring.DwrSpringServlet 这个类是 dwr 专门为整合 spring 提供的一个 servlet ,加入这个之后, dwr 的配置就可以写入到 spring 的配置文件 applicationContext.xml 省掉了 dwr.xml

 

 2 编辑Spring的配置文件 applicationContext.xml 加入对dwr的配置     

 

Java代码
  1. <?xml version= "1.0"  encoding= "UTF-8" ?>   
  2. <beans   
  3.     xmlns ="http://www.springframework.org/schema/beans"      
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    
  5.     xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"                                         
  6.     xsi:schemaLocation="http://www.springframework.org/schema   
  7.  /beans   
  8.     "http://www.springframework.org/schema/beans/spring-beans-2.0.xsd   
  9.     "http://www.directwebremoting.org/schema/spring-dwr   
  10.     "http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd" >   
  11.   
  12. <!-- DWR 配置开始 -->   
  13. <dwr:configuration>   
  14.      <dwr:convert class = "ww.support.web.dwr.validate.FieldValidateInfo"  type= "bean" >   
  15.      </dwr:convert>   
  16. </dwr:configuration> <dwr:controllerid="dwrController" debug= "true" />   
  17. <!-- DWR 配置结束 -->   
  18.   
  19. <!-- spring bean 配置 -->   
  20. <bean id="genericValidatorDwr"   class = "ww.support.web.dwr.validate.GenericValidator" >   
  21.      // 定义调用的js文件    
  22.    <dwr:remote  javascript="genericValidatorDwr" >   
  23.           <dwr:include method="isEmpty"  />   
  24.           <dwr:include method="isNotNumeric"  />   
  25.           <dwr:include method="isNumberNotInRange"  />  
  26.           <dwr:include method="isNumberGreaterThan"  />   
  27.      </dwr:remote>   
  28. </bean>   
  29.   
  30. </beans>   
<?xml version="1.0" encoding="UTF-8"?> 
<beans 
    xmlns ="http://www.springframework.org/schema/beans"   
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"                                      
    xsi:schemaLocation="http://www.springframework.org/schema
 /beans 
    "http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
    "http://www.directwebremoting.org/schema/spring-dwr
    "http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd"> 

<!-- DWR配置开始 --> 
<dwr:configuration> 
     <dwr:convert class="ww.support.web.dwr.validate.FieldValidateInfo" type="bean"> 
     </dwr:convert> 
</dwr:configuration> <dwr:controllerid="dwrController"debug="true"/> 
<!-- DWR配置结束 --> 

<!-- spring bean配置 --> 
<bean id="genericValidatorDwr" class="ww.support.web.dwr.validate.GenericValidator"> 
     // 定义调用的js文件 
   <dwr:remote  javascript="genericValidatorDwr"> 
          <dwr:include method="isEmpty" /> 
          <dwr:include method="isNotNumeric" /> 
          <dwr:include method="isNumberNotInRange" />
          <dwr:include method="isNumberGreaterThan" /> 
     </dwr:remote> 
</bean> 

</beans> 


 

 

说明:

  要加入 dwr 的定义  xmlns:dwr = http://www.directwebremoting.org/schema/spring-dwr

  还有 http://www.directwebremoting.org/schema/spring-dwr

    http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd

  所有 dwr 的定义要加 dwr 的前缀

 

 3 jsp的调用   

 

 

Java代码
  1. <script  type =  'text/javascript'    
  2.      src = '<%=request.getContextPath()%>/dwr/engine.js' > </script>   
  3. <script  type = 'text/javascript'    
  4.      src = '<%=request.getContextPath()%>/dwr/util.js' >  
  5. </script>   
  6. <script  type='text/javascript'    
  7.      src = '<%=request.getContextPath()%>/dwr/interface/genericValidatorDwr.js' >   
  8. </script>   
  9.   
  10. <script  type = 'text/javascript' >  
  11.      genericValidatorDwr.isNotNumeric(name,value,message, {      
  12.           callback:function(dataFromServer) {  
  13.               yourFunction(dataFromServer);   
  14.           }   
  15.      });   
  16.   
  17.      function yourFunction(data){   
  18.           alert(data.message);   
  19.      }  
  20.   
  21.  </script>   
<script  type = 'text/javascript' 
     src = '<%=request.getContextPath()%>/dwr/engine.js'> </script> 
<script  type = 'text/javascript' 
     src = '<%=request.getContextPath()%>/dwr/util.js'>
</script> 
<script  type='text/javascript' 
     src = '<%=request.getContextPath()%>/dwr/interface/genericValidatorDwr.js'> 
</script> 

<script  type = 'text/javascript'>
     genericValidatorDwr.isNotNumeric(name,value,message, {    
          callback:function(dataFromServer) {
              yourFunction(dataFromServer); 
          } 
     }); 

     function yourFunction(data){ 
          alert(data.message); 
     }

 </script> 


 

   genericValidatorDwr.js 就是通过 applicationContext.xml 文 件配置的 AJAX 操作类

 

  4  检测 dwr 是否正确工作的方法,可以在浏览器地址栏输入 http://localhost:8080/appName/dwr

               

       可以 看到可供 dwr 调用的方法

      

       出现这个表示 dwr 已经配置成 功

 

Delphi 12.3 作为一款面向 Windows 平台的集成开发环境,由 Embarcadero Technologies 负责其持续演进。该环境以 Object Pascal 语言为核心,并依托 Visual Component Library(VCL)框架,广泛应用于各类桌面软件、数据库系统及企业级解决方案的开发。在此生态中,Excel4Delphi 作为一个重要的社区开源项目,致力于搭建 Delphi 与 Microsoft Excel 之间的高效桥梁,使开发者能够在自研程序中直接调用 Excel 的文档处理、工作表管理、单元格操作及宏执行等功能。 该项目以库文件与组件包的形式提供,开发者将其集成至 Delphi 工程后,即可通过封装良好的接口实现对 Excel 的编程控制。具体功能涵盖创建与编辑工作簿、格式化单元格、批量导入导出数据,乃至执行内置公式与宏指令等高级操作。这一机制显著降低了在财务分析、报表自动生成、数据整理等场景中实现 Excel 功能集成的技术门槛,使开发者无需深入掌握 COM 编程或 Excel 底层 API 即可完成复杂任务。 使用 Excel4Delphi 需具备基础的 Delphi 编程知识,并对 Excel 对象模型有一定理解。实践中需注意不同 Excel 版本间的兼容性,并严格遵循项目文档进行环境配置与依赖部署。此外,操作过程中应遵循文件访问的最佳实践,例如确保目标文件未被独占锁定,并实施完整的异常处理机制,以防数据损毁或程序意外中断。 该项目的持续维护依赖于 Delphi 开发者社区的集体贡献,通过定期更新以适配新版开发环境与 Office 套件,并修复已发现的问题。对于需要深度融合 Excel 功能的 Delphi 应用而言,Excel4Delphi 提供了经过充分测试的可靠代码基础,使开发团队能更专注于业务逻辑与用户体验的优化,从而提升整体开发效率与软件质量。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值