`

dwr前后台交互

阅读更多
  在网上找了很多dwr的例子。不是很齐全,补充如下:

需要的jar是dwr.jar。180kb的。不是最新版本。

dwr.xml和web.xml是同级目录

1.index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>

<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<base href="<%=basePath%>">
		<title>My JSP 'index.jsp' starting page</title>
		<meta http-equiv="pragma" content="no-cache">
		<meta http-equiv="cache-control" content="no-cache">
		<meta http-equiv="expires" content="0">
		<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
		<meta http-equiv="description" content="This is my page">
		<!--
			<link rel="stylesheet" type="text/css" href="styles.css">
		-->

		<script type="text/javascript" src="dwr/interface/MyJsNameForDwr.js"></script>
		<script type="text/javascript" src="dwr/engine.js"></script>
		<script type="text/javascript" src="dwr/util.js"></script>

		<script type="text/javascript">
//var callBackValue = function callBack(data)

		function callBackValue(data) 
		{
			DWRUtil.setValue("text", data);
		}

		function callBackValue2(data) 
		{
			DWRUtil.setValue("objectvalues", data);
		}

		function getJavaMethodsValues() 
		{
			MyJsNameForDwr.getSomething('a', callBackValue);
	
		var objectValue = {
							aString:'x',
							bInt:'2',
							objectV:{list:'list',string:'string'}
						  };
	
		MyJsNameForDwr.getSomethingObject(objectValue, callBackValue2);

		}

		function clearValue() 
		{
			document.getElementById('text').value = "";
		}
		</script>

	</head>

	<body>
		<h1>
			Ajax _DWR
		</h1>

		<input type="button" name="show" value="调用java方法" onclick="getJavaMethodsValues();">
		<input type="button" name="clear" value="清空值" onclick="javascript:clearValue();">
		<br>
		<input type="text" name="text" id="text">
		<input type="text" name="objectvalues" id="objectvalues">
  </body>
</html>



2.web.xml


<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

	<servlet>
		<servlet-name>dwr-invoker</servlet-name>
		<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-invoker</servlet-name>
		<url-pattern>/dwr/*</url-pattern>
	</servlet-mapping>

	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
</web-app>




3.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>
		<convert match="com.dwr.ObjectV" converter="bean">
			<param name="list,string"></param>
		</convert>
		
		<convert match="com.dwr.ObjectValues" converter="bean">
			<param name="aString,bInt,objectV"></param>
		</convert>

		<create creator="new" javascript="MyJsNameForDwr" scope="application">
			<param name="class" value="com.dwr.Class" />
			
			<include method="getSomething" />
			<include method="getSomethingObject" />
			
		</create>
		
	</allow>
</dwr>



4.Class.java


package com.dwr;

public class Class
{
    /**
     * 从前台传递参数到后台方法调用
     * @param par
     * @return
     */
    public boolean getSomething(String par)
    {
        System.out.println("par == " + par);
        String par2 = "b";
        System.out.println("par2 == " + par2);
        if (par.equals("a")&&par2.equals("b"))
        {
            return true;
        }
        else
        {
            return false;
        }
    }
    
    /**
     * 从前台传递对象到后台
     * @param 
     * @return
     */
    
    public boolean getSomethingObject(ObjectValues obj)
    {
        System.out.println("aString = " + obj.getaString());
        System.out.println("bInt = " + obj.getbInt());
        System.out.println("ObjectV =  " + obj.getObjectV().getString());
        
        if (obj.getaString().equals("x"))
        {
            return true;
        }
        else
        {
            return false;
        }
    }  
}



5.ObjectValues.java


package com.dwr;

public class ObjectValues
{
    /**
     * 前台传递到后台的对象包装
     */
    private String aString;
    private int bInt;

    private ObjectV objectV;

    public String getaString()
    {
        return aString;
    }

    public void setaString(String aString)
    {
        this.aString = aString;
    }

    public int getbInt()
    {
        return bInt;
    }

    public void setbInt(int bInt)
    {
        this.bInt = bInt;
    }

    public ObjectV getObjectV()
    {
        return objectV;
    }

    public void setObjectV(ObjectV objectV)
    {
        this.objectV = objectV;
    }

}


6.ObjectV.java


package com.dwr;

import java.util.List;

public class ObjectV
{
    private String list;
    private String string;

    public String getList()
    {
        return list;
    }

    public void setList(String list)
    {
        this.list = list;
    }

    public String getString()
    {
        return string;
    }

    public void setString(String string)
    {
        this.string = string;
    }

}







  • dwr.jar (179.3 KB)
  • 描述: dwr.jar 180KB 左右的
  • 下载次数: 5
1
0
分享到:
评论

相关推荐

    j2ee使用dwr进行后台交互

    5. **小demo**:这个项目可能包含了一个简单的示例,演示了如何在J2EE环境中集成DWR,以及如何使用DWR进行后台交互的基本步骤,这对于初学者理解和学习DWR非常有帮助。 6. **标签“dwr”**:这个标签明确了项目的...

    一个简单DWR例子,实现前后台不刷新页面交互

    Direct Web Remoting (DWR) 是一种在Web应用程序中实现异步JavaScript和Java交互的技术,它允许前端JavaScript代码调用后端服务器上的Java方法,而无需刷新整个网页。这个简单的DWR实例展示了如何利用DWR框架来实现...

    DWR与后台异步交互简单例子

    在本“DWR与后台异步交互简单例子”中,我们将探讨如何利用DWR来实现前后端的数据通信,提高用户体验。 首先,**DWR的核心理念**是通过提供一套简单的API,使得JavaScript可以直接调用Java方法,仿佛它们都在同一个...

    Ext tree 结合dwr 调用后台数据

    总结来说,"Ext tree 结合dwr 调用后台数据"是前端与后端高效协作的一种实践方式,通过结合使用Ext JS的Tree组件和DWR,我们可以构建出交互性强、响应速度快的Web应用。理解并掌握这种技术,对于提升Web应用的用户...

    DWR的基本原理以及前后台互相调用并整合SPRING的简易DEMO

    通过这个DEMO,你可以学习如何在实际项目中运用DWR进行前后台交互,同时理解其与Spring框架的整合,提升Web应用的实时性和用户体验。在学习过程中,遇到问题可以参考博客链接中的内容,或者查找其他相关资料以深入...

    dwr 前台调用后台的java类 hello

    《DWR:前台调用后台Java类的"Hello, World!"实践详解》 Direct Web Remoting(DWR)是一个开源的Java库,它允许Web应用程序在浏览器和服务器之间进行实时的、安全的通信,实现JavaScript与Java代码的交互。DWR简化...

    JAVA AJAX中使用dwr获取后台list并在页面用表格显示

    在这个特定的项目中,"JAVA AJAX中使用dwr获取后台list并在页面用表格显示",我们将探讨如何结合Direct Web Remoting (DWR) 框架来实现这一功能,同时涉及到二级联动的概念。 DWR是一个开源的Java库,它允许...

    dwr-src.jar dwr源码包

    dwr源码包 dwr 全称direct web remote 将后台java class 映射为前台的一个js 执行js方法 即可通过ajax 操作后台

    JAVA AJAX中使用DWR获取后台list并在页面 用表格动态显示

    在这个项目中,DWR被用来实现在不刷新整个页面的情况下,从后台获取list数据并动态地在表格中展示,同时还有二级联动功能的实现,增加了用户操作的便捷性。下面我们将深入探讨这个项目的各个关键技术点。 首先,DWR...

    DWR中文文档 用来与数据库,java类交互的ajax框架

    DWR(Direct Web Remoting)是一个开源的Java框架,它允许Web应用程序轻松地在客户端JavaScript和服务器端Java之间进行交互,实现Ajax(异步JavaScript和XML)功能。DWR简化了复杂的JavaScript和Java之间的通信,...

    Ext+Dwr java 后台 实现用户登陆与数据显示

    ExtJS 和 Direct Web Remoting (DWR) 是两种在 Java 后端与前端交互中常用的技术。本项目结合这两种技术,实现了一个简单的用户登录系统,能够验证用户输入的用户名和密码,并显示相关数据。 首先,ExtJS 是一个...

    Java Dwr实现消息精准推送以及js调用后台+demo

    总结起来,这个主题涵盖了使用DWR进行JavaScript与Java后台交互的基本步骤,以及利用DWR的Push功能实现消息精准推送。通过研究提供的Demo,你将能够理解和应用这些技术到自己的项目中,提高Web应用的交互性和实时性...

    DWR框架DEMO下载

    通过分析和运行这个DEMO,你可以深入理解DWR的工作原理,以及如何在实际项目中利用DWR实现高效、便捷的前后台交互。这将对提升你的Web开发技能,特别是对于需要实时更新和异步交互的应用场景,具有很大的帮助。

    DWR推送功能实现实例(前段,后台函数互调)

    在"**DWR推送功能实现实例(前段,后台函数互调)**"中,我们将深入探讨如何利用DWR来实现实时的双向通信。 **DWR的基本原理**: DWR的核心是通过动态生成JavaScript库,使JavaScript可以直接调用Java对象的方法。...

    dwr.jar 以及dwr配置文件

    DWR使得动态网页能够与后台服务器进行实时交互,无需刷新整个页面,提高了用户体验。在这个压缩包中,包含的核心组件是“dwr.jar”,这是DWR框架的主要运行时库,以及“dwr.xml”配置文件,它是DWR进行自定义设置的...

    dwr小项目及资料

    描述中提到的“实现前台javascript直接调用后台业务方法和后台方法进行ajax 反转调用前台javascript的方法”,这正是DWR的核心功能。通过DWR,前端JavaScript可以直接调用后台Java服务,就像调用本地函数一样简单。...

    dwr实现前台监控 后台推送即时信息

    在本文中,我们将探讨如何使用DWR实现前台监控并进行后台即时信息推送。 首先,理解DWR的工作原理至关重要。DWR通过在服务器端运行一个Servlet,这个Servlet负责接收JavaScript的请求,执行相应的Java方法,然后将...

    dwr.rar_dwr jar_dwr j_dwr jar_dwr.j_dwr.jar2

    5. **交互**:客户端JavaScript代码可以直接调用这些生成的接口,就像调用本地函数一样,DWR会在后台处理HTTP请求和响应。 标签中的"**dwr_j**"和"**dwr_jar**"可能指的是DWR的Java相关资源,而"**dwr.j**"可能是...

Global site tag (gtag.js) - Google Analytics