Java中使用DWR的简单例子

本文详细介绍了如何使用DWR框架实现远程调用Java方法的过程。从配置dwr.jar到完成前端与后端交互的具体步骤均有涉及,包括配置文件dwr.xml、web.xml,以及前后端代码示例。

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

1.首先将dwr.jar放到lib目录下面
2.在web.xml中添加关于dwr的Servlet配置信息
  <servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.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>

3.添加dwr.xml的配置文件
在WEB-INF下面添加dwr.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.ltd.uk/dwr/dwr20.dtd">
<dwr>
<allow>
<create javascript="DwrTest" creator="new">
<param name="class" value="com.wl.dwr.test.FirstDwrTest"></param>
</create>
</allow>
</dwr>

这个配置的意思是,要创建的是DwrTest对象的javascript库,而且这个库的名字叫DwrTest,同时,这也是我们在JSP页面上调用这个对象的时候所使用的名称。
4.具体的FirstDwrTest代码如下

package com.wl.dwr.test;

public class FirstDwrTest {

public String sayHello(String name){
return "Hello,"+name;
}
}

5.前台的页面代码如下:

<%@ 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 'DwrTest.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/engine.js"></script>
<script type="text/javascript" src="dwr/util.js"></script>
<script type="text/javascript" src="dwr/interface/DwrTest.js"></script>
<script type="text/javascript">
function Say(){
var inputName=document.getElementById("name").value;
DwrTest.sayHello(inputName,function(data){alert(data);});
}
</script>

</head>

<body>
This is my JSP page. <br>
TestDwr Start:<input type="text" id="name" value=""/>   <input type="button" onclick="Say()" value="Test_DWR"/>
</body>
</html>


6.测试的结果如下:

[img]http://dl.iteye.com/upload/attachment/478379/472b64a5-0d4c-32eb-94a3-9f6ee1c8361e.png[/img]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值