转载于:http://www.itnose.net/detail/519386.html
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 contentType="text/html;charset=GBK" 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" onclick="checkRepeat('user')" value="检查是否重复">
</body>
</html>
6 classpath加入dwr和spring的jar文件,注意必须有hibernate3.jar和bsf.jar,在IE和FireFox下,就可以用了。
分享到:
相关推荐
本实例"DWRSpring实例"是一个使用DWR与Spring框架结合的消息发布系统,包含了基础的CRUD(Create、Read、Update、Delete)操作。通过这个例子,我们可以深入理解DWR和Spring如何协同工作,以及它们在实际开发中的...
在这个项目中,你可以找到如何将DWR与Spring MVC整合的代码实例,包括控制器定义、DWR配置、前端页面和JavaScript调用等。 6. **实战演练**: 为了更好地理解DWR和Spring的集成,可以下载 `spring-mvc-showcase-...
通过以上步骤,我们可以实现DWR与Spring的无缝结合,利用注解简化配置,提高开发效率。这种整合方式在现代Web应用中具有很高的实用价值,因为它不仅简化了开发,也增强了应用的灵活性和可维护性。
**DWR+Spring 下拉框联动实例** DWR(Direct Web Remoting)是一个开源的Java框架,它使得JavaScript和服务器端的Java代码可以进行实时交互,实现AJAX(Asynchronous JavaScript and XML)功能,而无需编写复杂的...
综上所述,"DWR与SPRING,DWR与STRUTS2的整合"主题涵盖了现代Java Web开发中重要的三个方面:DWR的实时通信能力、Spring的全面后端支持和Struts2的MVC架构。通过整合这三者,开发者可以构建出具有高效交互、灵活管理...
### dwr与spring集成的方式 #### 一、引言 DWR(Direct Web Remoting)是一种简化Ajax开发的Java框架,允许在客户端直接调用服务器端的Java方法,从而简化了传统的JavaScript编程复杂度。Spring作为一款流行的企业...
将DWR与Spring结合使用,可以构建出更高效、更灵活的Web应用。 在这个例子中,我们将会探讨如何将DWR与Spring集成,创建一个可运行的示例。首先,我们需要在项目中添加DWR和Spring的相关依赖。这通常通过Maven或...
将DWR与Spring整合,可以利用DWR的异步通信能力,结合Spring的强大管理功能,构建高效、灵活的Web应用。 **整合过程** 1. **引入依赖**:首先,我们需要在项目中引入DWR和Spring的相关jar包。对于Maven项目,可以...
将DWR与Spring结合,可以创建出高效且易于维护的消息推送系统。首先,我们需要在Spring配置中声明DWR的相关bean,包括`DWRConfiguration`、`CatalinaReverseAjaxServlet`以及应用中定义的远程服务接口。这些配置通常...
**Spring与DWR结合** Spring框架是Java领域中广泛使用的轻量级应用框架,它提供了依赖注入、面向切面编程、事务管理等核心功能,帮助开发者构建可维护性高、可扩展性强的企业级应用程序。而Direct Web Remoting ...
- 整合DWR与Spring:DWR的配置可以通过Spring的Bean工厂来完成,这样可以利用Spring的依赖注入特性,方便地管理DWR的实例。同时,Spring的AOP可以用来实现DWR方法的安全性和事务管理。 - 整合Hibernate与Spring:...
**DWR(Direct Web Remoting)与Spring框架的集成配置** DWR(Direct Web Remoting)是一个开源的Java库,允许在Web应用程序中实现Ajax功能,使得JavaScript可以直接调用服务器端的Java方法,实现了浏览器与服务器...
5. **Spring与DWR集成**:Spring提供了与DWR集成的便捷方式,例如使用`SpringDWRController`,它可以自动处理Spring bean到DWR的映射。你也可以自定义控制器来更精细地控制这个过程。 6. **JavaScript使用**:DWR...
与**Spring框架**的集成,使得DWR可以更好地融入到企业级的Java应用中,提供了更强大、更灵活的服务。 Spring框架是一个全面的后端开发解决方案,包括依赖注入、面向切面编程、事务管理、数据访问等模块。Spring对...
总的来说,DWR与Spring的结合提供了强大的前后端交互能力,使得开发人员能够构建更加高效、用户友好的Web应用。通过学习"DWR+SPRING 例子"和阅读"DWR中文教材",我们可以掌握这种技术并将其应用到自己的项目中,提升...
《疯狂Ajax讲义:Prototype/jQuery+DWR+Spring+Hibernate整合开发》是《基于J2EE的Ajax宝典》的第二版。《基于J2EE的Ajax宝典》面市近2年,作为Ajax领域最全面、实用的图书,一直深受读者的好评。全书主要分为三个...
在这个“dwr与反射相结合”的案例中,我们将深入探讨如何利用DWR的灵活性和Java反射机制来增强Web应用的功能。 DWR的核心功能是提供一种安全、高效的方式,使得JavaScript可以调用服务器上的Java方法,就像是本地...
在这个"DWR 2.0 Spring 3.0 整合示例"中,我们将探讨如何将DWR与Spring框架集成,以实现高效的前后端交互。整合DWR和Spring的主要目标是利用Spring的管理能力来处理DWR的bean,同时利用DWR的动态JavaScript生成能力...
当DWR与Spring结合时,它们能够协同工作,为开发者提供更高效、更简洁的开发环境。 一、DWR简介 DWR是一款开源的Java库,它允许Web应用程序创建动态、实时的AJAX(Asynchronous JavaScript and XML)接口。通过DWR...
4. **Spring与DWR集成**:DWR提供了一个Spring模块,`dwr-spring.jar`,这个库可以帮助你将Spring Bean直接注册到DWR中。只需在`dwr.xml`中使用`springCreate`标签,指定Bean的ID,DWR就能自动找到并暴露这个Bean。 ...