`
lcmlcm
  • 浏览: 25237 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

dwr框架(dwr与spring相结合 )

阅读更多
AJAX,或者说是异步JavaScript和XML,
描述了一种使用混合了HTML(或XHTML)和层叠样式表作为表达信息,
来创建交互式的Web应用的开发技术;文档对象模型(DOM),
JavaScript,动态地显示和与表达信息进行交互;并且XMLHttpRequest对象与Web服务器异步地交换和处理数据。
DWR(直接Web远程控制)项目是在Apache许可下的一个开源的解决方案,
它供给那些想要以一种简单的方式使用AJAX和 XMLHttpRequest的开发者。
它具有一套Javascript功能集,它们把从HTML页面调用应用服务器上的Java对象的方法简化了。
它操控不同类型的参数,并同时保持了HTML代码的可读性,它可以与spring结合在一起。
举个非常实用的小例子,检测是否有重复的用户名
1。web.xml的配置(包括spring和dwr)<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
        PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
        "http://java.sun.com/j2ee/dtds/web-app_2_3.dtd">
<web-app>
<context-param>
      <param-name>log4jConfigLocation</param-name>
     <param-value>/WEB-INF/log4j.properties</param-value>
  </context-param>
<context-param>     <param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml,/WEB-INF/main-servlet.xml</param-value>
</context-param>
<listener>   <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener> <servlet>
  <servlet-name>context</servlet-name>
    <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>dwr</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>
   <param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr</servlet-name>
<url-pattern>/dwr/*</url-pattern>
  </servlet-mapping>
</web-app> 2.   dwr.xml的配置<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd">
<dwr>
  <allow>
      <create
          creator="spring"
          javascript="UserManager">
          <param name="beanName" value="UserManager"/>
        </create>
      </allow>
</dwr>
3。applicationContext.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  <property name="location">
<value>/WEB-INF/jdbc.properties</value>
</property>
</bean>
<!-- Local DataSource that works in any environment -->
  <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  <property name="driverClassName">
       <value>${jdbc.driverClassName}</value>
</property>
<property name="url">
    <value>${jdbc.url}</value>
   </property>
  <property name="username">
     <value>${jdbc.username}</value>
  </property>
<property name="password">
    <value>${jdbc.password}</value>
    </property>
</bean>
  <!--OrderManager-->
<bean id="UserManager" class="dwr.manager.UserManager">
   <property name="dataSource">
   <ref local="dataSource"/>
   </property>
</bean> </beans>
4。spring的bean
  package dwr.manager;import org.springframework.jdbc.core.support.JdbcDaoSupport;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;public class UserManager extends JdbcDaoSupport ...{
  private final Log log = LogFactory.getLog(getClass().getName());
public boolean getUser(String username)
{
String sql="select count(*) from user where userName=? ";
int i=getJdbcTemplate().queryForInt(sql,new Object[]...{username});
if(i>0)
return true;
else
return false;
}}5。jsp的代码<%...@ page c language="java" %>
<html>
<head><title>Simple jsp page</title></head>
<script type='text/javascript' src='<%=request.getContextPath()%>.../dwr/interface/UserManager.js'>
</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">
function showResult(b) {
   if (b) {
      alert("已经有重复的登录名了!");
   } else {
     alert("登录名尚未注册过!");
   }
}function checkRepeat(s) {
   var o = getElement(s);
    if (o) {
      UserManager.getUser(o.value, showResult);
  }
}
  function getElement(name) {
   var result = null;
   var objs = document.getElementsByName(name);
  if (objs) {
     var o = objs[0];
     result = o;
    }
    return result;
   }
</script>
<body>
<input type="text" name="user" >
<input type="button" COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'user')" value="检查是否重复">
</body>
</html>
6 classpath加入dwr和spring的jar文件,注意必须有hibernate3.jar和bsf.jar,在IE和FireFox下,就可以用了。
分享到:
评论

相关推荐

    DWR学习笔记和与spring整合练习

    1. **松耦合**:Spring的DI和AOP可以与DWR相结合,降低DWR组件与业务逻辑间的耦合度。 2. **统一管理**:通过Spring管理DWR的bean,可以实现对DWR组件生命周期的统一控制。 3. **安全增强**:Spring的安全框架可以...

    dwr+spring 注解方式

    通过以上步骤,我们可以实现DWR与Spring的无缝结合,利用注解简化配置,提高开发效率。这种整合方式在现代Web应用中具有很高的实用价值,因为它不仅简化了开发,也增强了应用的灵活性和可维护性。

    dwr_and_spring

    DWR的易用性和Spring的健壮性相结合,使得构建复杂的企业级Web应用变得更加容易。无论是对于需要处理大量异步请求的Web应用,还是对于那些追求高效开发流程的项目,DWR与Spring的组合都展现出了其不可替代的价值。

    spring与dwr整合(简单)

    Spring 和 Direct Web Remoting (DWR) 的整合是将 Spring 框架的依赖注入和控制反转特性与 DWR 的动态 Web 接口相结合,从而实现客户端 JavaScript 和服务器端 Java 代码之间的无缝交互。这种整合使得开发人员可以...

    DWR+Spring整合案例

    当 DWR 与 Spring 结合使用时,可以将 DWR 的远程方法调用功能与 Spring 的强大功能相结合,实现高效、灵活的 Web 应用开发。 **1. DWR 的工作原理** DWR 的核心在于它的反向 AJAX(Reverse AJAX)技术,通过在...

    DWR 框架学习之<一>入门

    在实践中,DWR还可以与其他技术结合,比如Spring框架,以实现更复杂的业务逻辑。DWR的使用不仅可以提高Web应用的响应速度,还能减少不必要的网络请求,提升用户体验。 总结来说,DWR提供了一种便捷的途径,让前端...

    integrating Spring and DWR

    综上所述,"integrating Spring and DWR"是一个涉及将DWR的实时交互能力与Spring的全面企业级服务相结合的过程。这一集成使得开发者可以构建出既有强大后端支持,又能提供流畅用户体验的现代Web应用。通过深入理解和...

    基于hibernate/dwr框架实现的web项目

    这些技术与Hibernate和DWR相结合,构建了一个完整的MVC(Model-View-Controller)架构,实现了数据的模型化、视图的呈现和控制逻辑的分离。 5. 开发流程:项目开发可能遵循了标准的软件开发生命周期,包括需求分析...

    dwr2.0 dwr3.0 jar包

    在Struts框架中使用DWR时,开发者可以利用DWR的ActionProxy功能,将DWR调用与Struts Action相结合,实现更复杂的业务逻辑处理。DWR的ActionProxy允许你在Struts的Action中直接调用DWR服务,使得业务逻辑和视图层的...

    dwr+spring

    通过这个项目,开发者可以学习到如何将DWR的实时双向通信能力与Spring的强大功能相结合,构建出高效、灵活的Web应用。同时,作者提供的邮件支持为学习者提供了一个解决实际问题的渠道,有助于提升技术实践能力。

    dwr3.0+SSH2

    在这个项目中,开发者将DWR3.0与SSH2(Struts2、Spring和Hibernate2)相结合,创建了一个强大的后端控制和前端交互的解决方案。 【描述】中的“配置”部分意味着这个项目提供了如何设置和整合这些技术的详细步骤。...

    DWR 技术文章精选

    在这个压缩包中的文件可能详细阐述了DWR如何与界面开发相结合,提升前端交互性。DWR使得动态界面的创建变得简单,比如实时表格更新、拖放功能、即时搜索结果等。 7. **DWR 与源码分析**: “源码”标签可能意味着...

    dwr中文文档,dwr例子

    JSF的事件驱动模型与DWR的实时通信能力相结合,能创建更复杂的用户界面。 5. **DWR安全性和优化**:文档中也会涉及DWR的安全设置,如防止跨站脚本攻击(XSS)和跨站请求伪造(CSRF)。此外,还会有性能优化技巧,如...

    基于SSH+DWR的Web开发框架研究与应用 (2010年)

    2. **业务逻辑层**:承担着核心业务逻辑处理的任务,通常与Hibernate和Spring框架相结合。Hibernate通过DAO模式实现业务逻辑与数据访问的分离,而Spring则通过IoC机制实现组件间的松耦合。 3. **数据访问层**:负责...

    Practical.DWR.2.Projects

    2. **Struts、JSF集成**: 书中可能讨论如何将DWR与主流MVC框架如Struts或JSF相结合,增强Web应用的功能。 3. **AJAX框架兼容**: DWR 2 也可以与其他AJAX库如jQuery、Prototype等协同工作,提供更丰富的客户端交互。...

    dwr中文文档

    - **Hibernate**:DWR可以与Hibernate数据库持久化框架结合,通过`HibernateBeanConverter`实现Java对象与数据库之间的映射转换。 - **WebWork**:DWR与WebWork框架的整合,通过配置`dwr.xml`和在JSP中导入必要的...

    ssh+dwr分页程序实现

    总结来说,"ssh+dwr分页程序实现"是一个将SSH框架的持久层、业务层和控制层与DWR的实时通信技术相结合的案例。它涉及到的主要知识点包括:SSH框架的使用,尤其是Spring的依赖注入和事务管理,Hibernate的分页查询,...

    DWR开发的Demo

    **DWR(Direct Web Remoting)开发的Demo详解** DWR,全称为Direct Web Remoting,是一种...在深入研究DWR的过程中,我们还可以结合其他技术,如Spring框架,将DWR集成到更复杂的应用场景中,构建高性能的Web应用。

    Practical DWR 2 Projects(2008.1).pdf

    《Practical DWR 2 ...总的来说,《Practical DWR 2 Projects》是Java开发者探索Ajax和Web 2.0世界的一把钥匙,它以实际应用为导向,将理论知识与实践技巧相结合,帮助开发者更好地利用DWR实现高效、互动的Web应用。

    10大js框架 javaScript框架

    DWR特别适用于WebWork和Spring等Java框架,因为它只需要简单的配置即可实现数据传输。DWR支持JSON格式,性能优越,为开发实时应用提供了便利。 ### 6. Buffalo Buffalo是一个用于实现Ajax模式和Web服务调用的框架...

Global site tag (gtag.js) - Google Analytics