(二) DWR DWRUtil以及useLoadingMessage说明

本文详细介绍了DWR(Direct Web Remoting)的配置与使用流程,包括Web工程搭建、DWR jar包引入、web.xml与dwr.xml配置、调试模式设置、跨域安全配置及页面调用方法。同时,提供了DWRLoading类实例,展示如何实现异步加载数据并设置延迟。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:准备工作

建立Web工程,引入dwr jar包,web.xml文件中添加servlet写法,见下;

WEB-INF目录下建立dwr.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" 
    "http://www.getahead.ltd.uk/dwr/dwr20.dtd">
<dwr>
	<allow>
		<create creator="new" javascript="loadingUtil">
			<param name="class" value="com.lvbinbin.pojo.DWRLoading"></param>
			<include method="loading"/>
		</create>
	</allow>
</dwr>

<include>标签

include标签和exclude标签互相冲突,如果include以及exclude都不写,即该bean中方法都会被引入,但是如果其父类为Object类型,toString()  wait()这些方法是不会被引入的,如果需要使用就需要手动include标签中添加。

至于哪些方法被引入了,哪些方法没有引入,dwr也提供了查看页面:

  servlet里映射路径比如是/dwr/*

<servlet>
		<servlet-name>dwr</servlet-name>
		<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
		<!-- 添加调试模式,方便调试方法,正式发布的时候可以改为false 默认值为fasle -->
		<init-param>
			<param-name>debug</param-name>
			<param-value>true</param-value>
		</init-param>
		  	<!-- 这个crossDomainSessionSecurity必须配置,应该是跨区域提交设置,默认是ture, 如果不设置为false就会报错:Session Error -->
  		<init-param>
       	    <param-name>crossDomainSessionSecurity</param-name>   
     		<param-value>false</param-value>   
		</init-param>
		
	</servlet>
	<servlet-mapping>
		<servlet-name>dwr</servlet-name>
		<url-pattern>/dwr/*</url-pattern>
	</servlet-mapping>

那  机器地址:端口//项目名/dwr  即可访问到,点击进入可以查看具体以及测试功能;需要提及的一点,比如我操作该对象设置了其中某个属性,调用get方法,是无法得到刚才设置上的属性值;

页面上写法引入(其中DWRDemo为我的项目名):

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<!-- Dwr 引擎库 -->
<script type='text/javascript' src='/DWRDemo/dwr/engine.js'></script>
<!-- Dwr 工具库 -->
<script type='text/javascript' src='/DWRDemo/dwr/util.js'></script>
<script type='text/javascript' src='/DWRDemo/dwr/interface/loadingUtil.js'></script>
</head>
<body>
	<div id="curTime">当前时间:</div>
	<script type="text/javascript">
		window.onload = function() {
			DWRUtil.useLoadingMessage();
			loadingUtil.loading(function(data){
				alert(data);
			});
		}
	</script>
</body>
</html>

DWRLoading.java文件如下(查看useLoadingMessage特意设置了延迟):

package com.lvbinbin.pojo;

public class DWRLoading {
	
	public String loading() {
		try {
			Thread.sleep(5000);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		return "数据返回success!";
	}

}

useLoadingMessage方法即页面等待时候的前置回调提示信息:默认为Loading,会在最右上角显示

当传入参数时,显示信息就会生效;

DWRUtil.useLoadingMessage("等待中");

DWRUtil与dwr.util为同一个对象,使用起来没有差异,使用useLoadingMessage方法需要引入dwr/util.js,因为实在util.js中定义的

此外DWRUtil还有很多实用的方法,下次一一补充,待续。。。。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值