DWR框架--示例
来源:互联网 发布:小鱼儿主页最近域名 编辑:程序博客网 时间:2024/06/05 13:23
它可以允许在浏览器端的代码调用运行在Web服务器上的Java方法,就像它在浏览器里一样。
它包含两个主要部分:
①、允许JavaScript从web服务器上遵循了Ajax原则的Servlet或者Action中获取 数据
②、一个javascript库可以帮助网站开发人员轻松的利用获取的数据来动态改变网页的内容。
DWR下载地址:http://directwebremoting.org/dwr/downloads/
eg:
一:首先导入dwr.jar包、配置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>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><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping></web-app>二、写java类
package com.dwr;import com.opensymphony.xwork2.ActionSupport;public class HelloWorld extends ActionSupport {/** * */private static final long serialVersionUID = 1L;private String name;public HelloWorld() {}public String getName() {return name;}public void setName(String name) {this.name = name;}public String sayHello(String name) {return "Hello, " + name;}public String sayQuestion(String name) {return "Hello, " + name + "...How old are you?";}}三、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="Hello"><param name="class" value="com.dwr.HelloWorld" /><include method="sayHello"/><include method="sayQuestion"/></create></allow></dwr>四、jsp页面代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>DWR's HelloWorld</title><script type='text/javascript' src='/struts2dwr/dwr/engine.js'></script> <script type='text/javascript' src='/struts2dwr/dwr/interface/Hello.js'></script><script type='text/javascript' src='/struts2dwr/dwr/util.js'></script><script type="text/javascript"> function hello(){ var user = $('user').value; Hello.sayHello(user,function (msg){ dwr.util.setValue('result',msg); } function question(){ var user = $('user').value; Hello.sayQuestion(user,function(massage){ dwr.util.setValue('question',massage) }); }</script></head><body><input id="user" type="text" /><input type='button' value='打招呼' onclick='hello();' /><div id="result"></div><input type="button" value="提问" onclick="question();"/><div id="question"></div></body></html>
DWR和JQuery配合使用<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>DWR's HelloWorld</title><script type='text/javascript' src='/struts2dwr/dwr/engine.js'></script> <script type='text/javascript' src='/struts2dwr/dwr/interface/Hello.js'></script><script type="text/javascript" src="jq/jquery-1.6.2.js"></script><script type="text/javascript">$(document).ready(function($("#hi").click(function(){var user = $("#user").val();Hello.sayHello(user,callback);});function callback(msg){ $("#result").text(msg); } });</script></head><body><input id="user" type="text" /><input type='button' value='打招呼' id="hi" /><div id="result"></div></body></html>步骤:首先配置DwrServlet到web.xml中,
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
这里:指定作用是设置是否开启调试模式。true开启,false关闭。
然后新建dwr.xml文件中用户指定Javascript要访问的Action
最后写页面
<script type='text/javascript' src='/struts2dwr/dwr/engine.js' />
<script type='text/javascript'src='/struts2dwr/dwr/interface/Hello.js' />
<script type='text/javascript' src='/struts2dwr/dwr/util.js' />
这里:调用的js文件是DWR自动完成的,这些js文件的地址,可以在DWR的调试页面中看到。启动服务器,输入http://localhost:8080/项目名称/dwr。就能进入调试页面。
注意:dwr.xml 和 web.xml在同一个目录。
<dwr>内部标签:
<allow>标记中包括可以暴露给Javascript访问的东西。
<create>标记中指定Javascript中可以访问的Java类,并定义DWR应当如何获取要进行远程的类的实例。create="new"属性指定Java类实例是生成方式,new意味着DWR应当调用类的默认构造器来获取实例。Javascript="testClass"属性指定Javascript代码访问对象时使用的名称。
<param>标记指定要公开给Javascript的Java类名。
<include>标记指定要公开给Javascript的方法。不指定则公开所有方法。
<exclude>标记指定禁止被访问的方法,与include相反。
<convertor>标记负责这些方法的参数和返回类型。convertor元素的作用是告诉DWR在服务器端Java对象表示和序列化的Javascript之间如何转换数据类型。DWR自动的在Java和JavaScript表示之间调整简单数据类型。这些类型包括Java原生类型和封装类型以及String、Date、数组、集合类型。DWR同时也能把JavaBean转换成Javascript表示,但是出于安全性,要求显示配置,<convertor>标记就是完成该功能。<convertor>标记中有两个重要的属性converter和match,作用是:使converter="bean"属性指定转换的方式采用JavaBean命名规范,match="com.dwr.TestBean"属性指定要转换的JavaBean名称。0 0
- DWR框架--示例
- DWR+Spring+Hibernate+Oracle在MyEclipse搭建框架示例
- DWR框架
- DWR框架
- DWR框架
- dwr框架
- DWR框架
- Dwr框架
- dwr 简单示例
- DWR Annotation入门示例
- dwr的入门示例
- DWR第一个示例
- dwr简单示例
- DWR简介及示例
- dwr 源码 dwr的简单实现 dwr简单示例
- dwr框架入门学习
- Reverse Ajax框架: DWR
- DWR框架的使用
- HTML5全局属性
- document对象
- 不使用UIImagePickerController实现读取相册图片的方法
- Android开发性能优化简介
- C语言各种数据类型及其在系统中占的字节和取值范围
- DWR框架--示例
- 设计模式---单件
- Cocos2d-x教程(16)-自定义动作 圆周运动
- 代码共享航班
- 移动智慧梦想未来(一)——O2O未来方向,passbook集成(简介-创建代码)
- ubuntu服务器搭建pptp服务实现vpn服务器
- 使用busybox构建linux根文件系统
- into子句中使用子查询
- matlab:矩阵/数组常用操作