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 框架dwr 框架dwr 框架dwr 框架dwr 框架dwr 框架
Ajax的简述 传统web开发模式与ajax开发模式的不同 Ajax的开发与案例 Dwr框架的简介 Dwr框架的应用与案例 Dwr 框架与Struts,Spring框架的结合
SSH与DWR框架整合SSH与DWR框架整合SSH与DWR框架整合
dwr与spring集成的两种方式,来之网上搜索的文档。。
DWR(Direct Web Remoting)是一个开源的类库,可以帮助开发人员开发包含AJAX技术的网站.它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样
DWR框架的实现DWR框架的实现DWR框架的实现DWR框架的实现DWR框架的实现
DWR学习笔记和与spring整合练习,DWR学习笔记和与spring整合练习,DWR学习笔记和与spring整合练习,DWR学习笔记和与spring整合练习,
这是一个简单的由DWR调用Spring Bean的简单例子
使用dwr+spring实现消息推送 。
DWR示例 包括DWR基本配置 DWR传递对象 DWR 反转ajax DWR与spring集成
精心整理的,dwr与目前流行框架spring和struts2的整合,值得一学
dwr非常有名的ajax框架,内部有一个试例war包和必须的jar包
该文件中包括了dwr框架和spring框架结合使用方法,使用注解方式。
基于dwr框架的web应用的设计与使用,是介绍dwr入门的不错的文章。
DWR 框架使用手册DWR 框架使用手册DWR 框架使用手册DWR 框架使用手册DWR 框架使用手册DWR 框架使用手册
框架结构dwr 框架结构dwr 框架结构dwr 框架结构dwr 框架结构dwr 框架结构dwr 框架结构dwr 框架结构dwr 框架结构dwr 框架结构dwr 框架结构dwr 框架结构dwr 框架结构dwr 框架结构dwr
dwr框架的源文件dwr框架的源文件dwr框架的源文件dwr框架的源文件
是自己学习期间DWR框架的简单的一些实例和操作。里面有三层写的异步刷新分页 还有DWR操作的14个小实例,以及提高能力的DWR的API和API的技术文档,贡献大家,希望大家能够用的上,也欢迎学习交流,里面有本人的QQ。
里面存放关于dwr框架的库和帮助文档,还有dwr官方的源码,以及关于控件的资料,对dwr配置文件有详细的说明
(参考:http://www.cnblogs.com/cyjch/archive/2012/02/16/2353758.html) DWR框架简单Demo,主要是用户注册的例子。 感谢原博主的分享!(附上我测试成功的Demo)