web.xml文件
<?xml version="1.0" encoding="GBK"?>
<web-app 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" version="2.5">
<!-- 配置DWR的核心Servlet -->
<servlet>
<!-- 指定DWR核心Servlet的名字 -->
<servlet-name>dwr-invoker</servlet-name>
<!-- 指定DWR核心Servlet的实现类 -->
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<!-- 指定DWR核心Servlet处于调试状态 -->
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<!-- 指定核心Servlet的URL映射 -->
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<!-- 指定核心Servlet映射的URL -->
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
</web-app>
处理类Java
package com.lbx.dwr.json.test;
public class Test1 {
public String sss(String name){
System.out.println("Test1.test()");
return name + ",你好!";
}
}
dwr.xml文件配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" "http://getahead.org/dwr/dwr30.dtd">
<dwr>
<allow>
<create creator="new" javascript="Demo">
<param name="class" value="com.lbx.dwr.json.test.Test1"/>
</create>
</allow>
</dwr>
客户端jsp代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
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">
<!-- 导入DWR为Demo对象动态生成的JavaScript代码库 -->
<script type='text/javascript' src='dwr/interface/Demo.js'></script>
<!-- 导入DWR引擎的核心JavaScript代码库 -->
<script type='text/javascript' src='dwr/engine.js'></script>
<!-- DWR的工具JavaScript文件,通过这工具的工具方法可以简化DOM操作 -->
<script type='text/javascript' src='dwr/util.js'></script>
<script type="text/javascript">
function sendMessage(){
var username = $("name").value;
alert(username);
Demo.sss(username,{
//指定回调函数
callback:getMsg,
//指定超时时长
timeout:1000,
//指定错误处理函数
errorHandler:function(message) { alert("错误提示: " + message); },
//指定
warningHandler:function(message) { alert("Oops: " + message); },
textHtmlHandler: function(message) { alert("Oops: " + message); },
exceptionHandler: function(message) { alert("Oops: " + message); },
//指定发送请求的方式
httpMethod:'POST',
async:true,
//指定发送请求之前的勾子函数
preHook:function(){alert('远程调用之前...')},
//指定发送请求之后的勾子函数
postHook:function(){alert('远程调用之后...')}
});
}
//回调函数
function getMsg(data)
{
alert("s");
document.getElementById("show").innerHTML = data;
}
</script>
</head>
<body>
<h3>
使用JSON格式回调
</h3>
请输入您的名字
<input id="name" name="name" type="text" />
<br />
<input type="button" value="使用JSON格式回调" onclick="sendMessage();" />
<hr />
下面是服务器的回应:
<br />
<div id="show"></div>
</body>
</html>
相关推荐
文件`jsoncallback`可能是这个过程中的一个重要组成部分,它可能是一个JavaScript文件,包含了DWR的回调函数定义或其他与处理JSON响应相关的逻辑。在实际应用中,你可能需要根据项目需求来定制这个文件,以适应不同...
然而,“修改后的dwr框架无需回调函数”意味着这个封装后的版本可能已经内置了处理响应的机制,从而省去了开发者手动编写回调函数的步骤。这种改进提高了代码的可读性和可维护性,减少了出错的可能性。 在这个框架...
7. **DWR与JSON**:DWR支持JSON(JavaScript Object Notation)格式的数据交换,了解如何在DWR中使用JSON进行数据传输,提升性能和兼容性。 8. **DWR的批量调用与缓存**:DWR提供批量调用接口,允许一次发送多个...
4. **处理返回数据**:当服务器响应后,DWR会自动处理结果,可以通过回调函数处理这些数据,更新页面。 六、示例应用 在"dwr和ajax"的示例中,可能包含以下内容: - 一个简单的DWR配置文件(如`dwr.xml`),定义了...
DWR引擎接收到响应后,调用预先提供的回调函数(`callback`),将结果更新到页面元素`demoReply`中。 8. **安全性与权限控制**:DWR通过`dwr.xml`配置文件实现了安全性和权限控制,只允许指定的Java类和方法被远程...
- **简单的回调函数**:介绍如何使用DWR进行异步调用,并在调用完成后执行回调函数。 - **调用元数据对象**:元数据对象包含关于服务和方法的信息,可以用来动态生成客户端调用代码。 DWR2.0中文文档不仅是一份详尽...
- DWR将结果转换成JSON或XML格式,并发送回浏览器。 - JavaScript回调函数处理返回的结果,更新DOM元素。 5. **DWR的安全性**: - DWR提供了安全机制,如CSP(Cross Site Scripting Prevention)来防止跨站脚本...
2. **异步调用**:理解DWR的异步调用机制,如回调函数和错误处理。 3. **批量调用**:DWR支持批量调用多个方法,减少网络传输。 五、DWR的安全性 1. **白名单配置**:通过dwr.xml配置文件设置允许调用的类和方法,...
DWR (Direct Web Remoting) 是...通过配置CMT、使用Ajax调用以及设置回调函数,我们可以轻松地在客户端与服务器之间交换数据并更新页面的部分内容。在实际开发中,DWR的易用性和灵活性使其成为实现Ajax功能的理想选择。
5. **处理响应**:DWR会自动处理服务器的响应,将其传递给相应的回调函数。开发者可以在回调函数中处理这些数据,更新页面的相应部分。 DWR还提供了其他功能,如批量调用、缓存控制、错误处理等,以提高性能和用户...
5. **回调函数**:DWR提供了异步处理的回调函数,使得开发者可以轻松地处理服务器返回的结果。 6. **事件驱动**:DWR3.0引入了事件驱动的编程模型,使得服务器可以向客户端推送事件,例如当数据库有新数据时,...
2. **自动回调机制**:DWR生成的JavaScript函数会自动添加一个回调函数作为参数,例如原本的函数是`checkExist(String name)`,生成的JavaScript版本将会变成`checkExist(callbackFunc, String name)`。这里的`...
- **处理回调**:DWR使用异步回调机制,当服务器响应准备好后,会自动调用预先指定的回调函数。 - **数据交换格式**:除了XML,DWR也支持JSON等其他数据格式进行交换,以提高性能和兼容性。 5. **DWR的安全性与...
DWR会将服务器的响应数据转换为JavaScript可以理解的格式,并在调用的回调函数中返回。你可以在这里处理返回的字符串、对象或列表。 DWR还提供了其他特性,如安全设置、缓存控制、异步和同步调用等,使得它成为...
// 数据回调处理,将数据传递给EasyUI组件 callback(data); }); } }; // 假设我们有一个EasyUI的datagrid $("#datagrid").datagrid({ loader: loader, // 其他datagrid配置 }); ``` 在这个例子中,`...
PPT可能会通过图示和步骤说明来展示DWR如何处理客户端请求,如何序列化和反序列化对象,以及如何处理异步回调。 "dwraddRows方法.rar"这个文件可能是一个示例项目,包含了一个具体的DWR方法——"addRows"的使用。这...
DWR提供了回调函数机制,当服务器响应时,会调用预先定义的JavaScript函数,将结果传递给该函数处理。 3. **JavaBean操作**: DWR可以轻松地与JavaBean进行交互。在服务器端,你可以创建一个JavaBean,包含你需要...
- **JavaScript API**:提供给开发者在浏览器端使用的JavaScript库,包括异步调用服务器方法、处理回调等功能。 **3. DWR的主要特性** - **安全性**:DWR提供了安全机制,如白名单配置,防止恶意JavaScript访问...
5. **处理回调**: 服务器返回的结果会自动传给预定义的回调函数。 ### 4. 示例应用 文章中提到的示例应用可能包括以下几个部分: - **一个简单的服务器端Java类**:包含一个或多个可供客户端调用的方法。 - **...