DWR基础配置

DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站.它可以允许在浏览器 里的代码使用运行在WEB服务器 上的JAVA函数,就像它就在浏览器里一样。

 

 

1. 安装 DWR JAR 包

  下载 dwr.jar 文件,然后将它放在 web 程序的 WEB-INF/lib 目录下面,很可能在这个目录下已经有一些 jar 文件了。

2. 编辑 config 文件

  将下面的代码添加到 WEB-INF/web.xml 文件中,<servlet>需要放在另外的<servlet>之后,<servlet-mapping>也是如此。

<!-- 添加DWR支持 -->
	<servlet>
		<servlet-name>dwr-invoker</servlet-name>
		<display-name>DWR Servlet</display-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>

 3、接下来创建 dwr.xml 文件并将此放在 web.xml 所在的 WEB-INF 目录下。文件中类似下面的内容:

<!DOCTYPE dwr PUBLIC
        "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
        "http://www.getahead.ltd.uk/dwr/dwr10.dtd">

<dwr>
	<allow>
		<create creator="new" javascript="JDate">
			<param name="class" value="java.util.Date" />
		</create>
		<create creator="new" javascript="Demo">
			<param name="class" value="com.test.entity.UserInfo" />
		</create>
	</allow>
</dwr>

 DWR 配置文件定义了由 DWR 创建和被 Javascript 远程使用的类。在上面的例子中我们在远程创建了2个类,并且给出了在 Javascript 中的类名。   

上面使用的 new creator 使用了所有的 JavaBeans 必须含有的公有(public)无参(no-args)的构造函数。值得一提的是, DWR 还有一些限制:   

避免使用 JavaScript 保留字;以保留字命名的方法将自动被排除。大多数 JavaScript 的保留字同时也是 Java 的保留字,因此无论如何你也不能使用一个名为 “try()” 的方法。但是最常用的一个词 “delete()”,在 JavaScript 中有特殊的含义而在 Java 中没有。   

重载方法(Overloaded methods)将会在调用的时候陷入未知的状况,因此应该避免重载方法。

附上com.test.entity.UserInfo.java代码

package com.test.entity;

public class UserInfo {
	public String username;
	public String password;
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		System.out.println("dfsghjkhgfdfgh");
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
}
 

3. 访问下面的地址

  http://localhost:8080/[YOUR-WEBAPP]/dwr/

进入 http://localhost:8080/[YOUR-WEBAPP]/dwr/ 然后点击你创建的类;(点击Demo)

 

 

应用调用(自己查看是否跳到对应方法中)

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>My JSP 'index.jsp' starting page</title>
	<!--调用的js就是刚才粘贴过来的-->
	<script type='text/javascript' src='/Struts2Test/dwr/interface/Demo.js'></script>
  	<script type='text/javascript' src='/Struts2Test/dwr/engine.js'></script>
  </head>
  <script type="text/javascript">
  function doSet(){
	  Demo.setUsername("adsfs");//调用可以使用的方法
  }
  </script>
  <body>
   	<input type="button" id="cli" name="cli" value="click" onClick="doSet()" />
  </body>
</html>
 

 

你可能感兴趣的:(DWR)