`
zengbo0710
  • 浏览: 414002 次
社区版块
存档分类
最新评论

dwr简介--一个例子

阅读更多
上一篇我主要介绍dwr的概况。这一篇我用dwr做了个可以不刷新页面就更新的表格。
screen.jpg
运行环境:
windows xp pro sp2
j2sdk1.2.4_03
weblogic8.1
struts1.2.4
开发工具eclipse3.0
其实dwr和struts没有什么关系,只不过最近我们项目组在用struts作东西。我就顺便用把我的程序建立在Struts上。
主要文件。
dwr.jar--dwr的类库包
struts的类库包,具体我不说了,这东西谁都知道。
jdts0.9.jar--数据库SQLServer的驱动程序包。
以上jar包放在WebContent\WEB-INF\lib下
web.xml--谁都知道这东西干嘛用的吧。
struts-config.xml --这个也不说了。
dwr.xml -- dwr的配置文件
weblogic.xml -- weblogic模块配置文件。
还有一个struts的tld就不说了
以上文件放在WebContent\WEB-INF下面。
login.jsp -- 登陆界面,这里我也用到了dwr
showtable.jsp --登陆成功会转到这个页面,一个ajax表格。
showtable.js -- showtable.jsp中用到的javascript
main.css -- 不说了
还有 *.gif界面要到的图片
以上文件放在WebContent下
剩下的就是java类了。
LoginAction.java --Struts的Action,负责登陆
TableAction.java --Struts的Action,负责表格内容初始化
UserLogic.java --负责验证用户
TableRowConverter.java -- 继承于dwr的BeanConverter,负责将一个对象转成javascript能用的东西。
LoginForm.java --Struts的Form,负责登陆信息
TableModelBean.java --TableModel一部分给struts用一部分给dwr用。
TableRowBean.java 用户存放行信息的Bean。
ModelOneDAO.java --随便取的名字,有点恶(三声)。负责从数据库操作的。

这个例子还需要一个数据库,我用的是SQLServer。
下面是建表的SQL语句。输入数据的SQL就不贴了太长了。我会弄个源码下载的。
/*==============================================================*/
/* DBMS name:      Microsoft SQL Server 2000                    */
/* Created on:     2005-8-1 13:21:33                            */
/*==============================================================*/


if exists (select 1
            
from  sysobjects
           
where  id = object_id('AJAX_MODEL_ONE')
            
and   type = 'U')
   
drop table AJAX_MODEL_ONE
go


/*==============================================================*/
/* Table: AJAX_MODEL_ONE                                        */
/*==============================================================*/
create table AJAX_MODEL_ONE (
   col1                 
int                  not null,
   col2                 
int                  not null,
   col3                 
int                  not null,
   
constraint PK_AJAX_MODEL_ONE primary key  (col1)
)
go
接下来是写业务逻辑
Login.java
/**//*
 * Created on 2005-7-29
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 
*/

package org.mstar.strutsajax.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.mstar.strutsajax.ajax.UserLogic;
import org.mstar.strutsajax.form.LoginForm;

/**//**
 * @author matianyi
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 
*/

public class LoginAction extends Action {

    
/**//* (non-Javadoc)
     * @see org.apache.struts.action.Action#execute(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
     
*/

    
public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response) throws Exception 
{
        
if(validateUser((LoginForm)form)){
            
return mapping.findForward("success");            
        }
 else {
            
return mapping.findForward("failure");
        }
        
    }

    
    
private boolean validateUser(LoginForm form){
        UserLogic userLogic 
= new UserLogic();
        
return userLogic.validate(form.getUsername(),form.getPassword());        
    }

}
UserLogic.java
package org.mstar.strutsajax.ajax;

/**//**
 * @author matianyi
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 
*/

public class UserLogic {
    
public boolean validate(String username,String password){
        
if("mty".equals(username)&&"123".equals(password)){
            
return true;
        }
 else {
            
return false;
        }

    }

}

LoginForm.java
package org.mstar.strutsajax.form;

import org.apache.struts.action.ActionForm;

/**//**
 * @author matianyi
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 
*/

public class LoginForm extends ActionForm {
    
private String username;
分享到:
评论

相关推荐

    dwr入门 -- 03 -- 结合Spring

    6. **示例代码分析**:可能提供一个简单的例子,展示如何在Spring应用中创建一个DWR服务,以及在前端JavaScript如何调用这个服务。这可能涉及到`@RemoteProxy`注解的使用,以及Spring MVC的控制器方法。 7. **测试...

    dwr入门 -- 01 -- Hello Word

    本教程将带你走进DWR的世界,通过一个简单的"Hello World"示例来了解其基本使用。 ### 一、DWR简介 DWR的核心概念是"Remoting",即远程调用,它使得JavaScript可以像调用本地方法一样调用服务器上的Java方法。DWR...

    dwr,jar和dwr-noncla.jar

    Direct Web Remoting (DWR) 是一个开源Java库,它允许在Web应用程序中轻松地进行JavaScript和服务器端Java代码之间的交互。DWR使得AJAX(Asynchronous JavaScript and XML)开发更为简便,允许开发者在不刷新整个...

    DWR-J2EE 简单例子

    总结,DWR-J2EE的简单例子为初学者提供了一个快速了解和实践AJAX通信的平台。通过学习这个例子,开发者可以深入理解DWR如何实现JavaScript与Java的无缝交互,以及如何在实际项目中利用DWR提高Web应用的用户体验。

    dwr-2.0.6-src完整包

    DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站,其中包含jar包,javadoc,例子等

    dwr 例子

    在这个名为“dwr例子”的压缩包中,包含了一个名为“dwrdemo1”的示例项目。这个项目可能是一个简单的DWR应用,用于展示如何配置和使用DWR框架。下面,我们将详细讨论DWR的关键概念和使用方法。 1. **DWR配置**: ...

    dwr与spring整合的相关资料收集 包括一个例子 dwr-comet

    这个资料集合应该包含了关于如何集成DWR和Spring的详细教程,以及一个实际的例子,可以帮助开发者理解并掌握这种整合方式。通过深入学习和实践,你可以创建出具有强大交互性、响应速度快的Web应用。

    dwr实例 - dwr入门 本人开发的:小游戏 大家一起来赚钱

    Direct Web Remoting (DWR) 是一个开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,从而实现动态Web应用程序。DWR通过AJAX技术提供了一种简单的方法来实现实时的、双向的通信,使得前端用户...

    Dwr例子带注释

    这个"TestDwr"压缩包文件提供的例子是一个简单的DWR应用示例,适合初学者理解和学习。 1. **DWR基本概念**: - DWR的核心组件包括`DWR Engine`、`Reverse AJAX`和`JavaBeans`。 - `DWR Engine`是DWR的核心,它...

    dwr-ajax例子还有老师的例子

    DWR 是一个开源的 Java 库,它使得在浏览器和服务器之间可以进行动态、异步的数据交换成为可能,这正是 AJAX(Asynchronous JavaScript and XML)的核心理念。DWR 提供了一种简单的方式来调用服务器端的 Java 方法,...

    学习dwr的一个例子

    这个"学习dwr的一个例子"是一个实践教程,可能包含了如何设置DWR环境、创建远程Java对象、调用这些对象的方法以及处理返回的数据等步骤。 1. **DWR简介**:DWR的核心功能是通过AJAX技术实现浏览器与服务器之间的...

    dwr的server-side clock例子

    总结来说,"server-side clock"例子是DWR技术的一个直观展示,演示了如何使用DWR的JavaScript API与服务器端进行通信,实现实时更新页面内容。通过对这个示例的学习,开发者能够更好地理解和运用DWR进行富互联网应用...

    dwr 一个简单的例子

    dwr技术,怎样配置参照网上,这里提供前台页面和dwr配置文件。这里返回的是list数组和对象等,及怎样在页面进行展现。如果你没有用到spring ,则在dwr配置文件中creator="spring" 该为其他的生成方式。

    DWR3.0例子(注解)

    DWR 是一个开源的 Java 库,它允许 JavaScript 在客户端与服务器端进行交互,实现了动态 Web 应用程序中的 AJAX 功能。DWR 3.0 版本在前一版本的基础上进行了优化和增强,提供了更高效、更安全的远程方法调用...

    JAVA-DWR简单例子

    **JAVA-DWR简单例子** ...通过这个简单的JAVA-DWR例子,我们可以了解如何利用DWR实现JavaScript和Java的无缝交互,从而创建更富交互性的Web应用。理解并掌握DWR的使用,对于提升Web开发效率和用户体验具有重要意义。

    DWR简单测试例子

    下面我们将深入探讨DWR的工作原理、配置过程以及如何创建一个简单的测试例子。 1. DWR的工作原理: DWR的核心在于它提供了一种安全的、跨域的通信方式。它通过JavaScript接口(JSR-269或JSR-173注解)动态生成...

    DWR小例子_DEMO

    这个"DWR小例子_DEMO"是帮助开发者理解并快速上手DWR的一个实践项目,其中包含了说明文件和必要的代码示例。 DWR的核心功能是允许前端JavaScript直接调用后端Java方法,仿佛它们是在同一环境中运行一样,消除了传统...

    一个DWR例子,直接导入eclipse可运行

    这个"一个DWR例子,直接导入eclipse可运行"的压缩包提供了一个实战性的教程,帮助开发者了解并实践DWR的基本用法。 DWR的核心功能在于创建一种透明的远程调用机制,使得JavaScript可以像操作本地对象一样调用服务器...

    dwr例子注册模块

    这个“dwr例子注册模块”是一个基于DWR技术构建的用户注册功能模块,使用了MySQL作为数据库,并且在开发环境中使用了MyEclipse5.5。 首先,DWR的核心概念是远程方法调用(Remote Method Invocation),它通过创建一...

    简单使用dwr完整例子

    Direct Web Remoting (DWR) 是一个开源Java库,它允许Web应用程序在浏览器和服务器之间进行实时、异步通信,从而实现类似AJAX的功能。在这个"简单使用DWR完整例子"中,我们将深入理解DWR的基本概念、配置、以及如何...

Global site tag (gtag.js) - Google Analytics