博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaWEB开发中用到DWR时的配置、调用、Form提交的方法
阅读量:7041 次
发布时间:2019-06-28

本文共 3581 字,大约阅读时间需要 11 分钟。

hot3.png

DWR官方网站:

 

(一)添加DWRjar包:

从官网上下载jar包,放到lib目录下

 

(二)编辑配置文件

    1.编辑配置文件web.xml:

         以下几行代码必须被添加到WEN-INF/web.xml文件中。注意,要把<servlet>和其他<servlet>放在一起,<servlet-mapping>要和其他<servlet-mapping>放在一起

 

dwr-invoker
org.directwebremoting.servlet.DwrServlet
debug
true
dwr-invoker
/dwr/*

 

     2.在web.xml目录下创建dwr.xml文件,内容如: 具体dwr配置详解可以下载:《》

 

 

其中formBean也可用Struts的生成的form,配置文件中写好路径、在类文件中的返回类型修改好,代码如:

 

 类文件修改:

 

public UserForm getFormBean(Map formMap){ 		...		UserForm userFomr = new UserForm(); 		  try{ 		   BeanUtils.populate(userFomr, formMap); 		  ....		  return userFomr; 		}

 

(三)编写类方法:

     在src的包中建立类文件,如:

 

package dwr;import java.util.Map;import org.apache.commons.beanutils.BeanUtils;public class Dwr {	public boolean checkName(String name) {		boolean flag = false;		if("wq".equals(name)){			flag = true;		}		return flag;	}		public FormBean getFormBean(Map formMap){ 		try {			synchronized (this) {				this.wait(5000);				this.notify();			}		} catch (InterruptedException e1) {			// TODO Auto-generated catch block			e1.printStackTrace();		}		  FormBean formBean = new FormBean(); 		  try{ 		   BeanUtils.populate(formBean, formMap); 		  }catch(Exception e){ 		   e.printStackTrace(); 		  } 		  System.out.println("==============客户端传来的信息=============="); 		  System.out.println("FormBean.username:"+formBean.getName()); 		  System.out.println("FormBean.password:"+formBean.getAge()); 		  System.out.println("========================================="); 		  		  System.out.println("==============客户端传来的信息Map=============="); 		  System.out.println("FormBean.username:"+formMap.get("name")); 		  System.out.println("FormBean.password:"+formBean.getAge()); 		  System.out.println("========================================="); 		  return formBean; 		} }

 

代码:

synchronized (this) {

    this.wait(5000);
    this.notify();
   }
使线程等待5秒,模仿网络延迟效果

 

formBean类文件:

 

package dwr;public class FormBean {	private String name="";	private int age = 0;	public int getAge() {		return age;	}	public void setAge(int age) {		this.age = age;	}	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}		}

 

(四)运行项目,检测方法

      运行项目后访问::端口/项目名/dwr,之后会出现之前定义的service的链接,点击进入后可以看到类中定义的方法如:

 

Methods For: service (dwr.Dwr)To use this class in your javascript you will need the following script includes:    In addition there is an optional utility script:  Replies from DWR are shown with a yellow background if they are simple or in an alert box otherwise.The inputs are evaluated as Javascript so strings must be quoted before execution.getFormBean(  );  checkName(  );  (Warning: checkName() is excluded: Method access is denied by rules in dwr.xml. See below)

 

 (五)在页面中加入AJAX:

    1.在页面中引入js文件路径:

 

2.如果是验证单个的数据,如用户名:

function firstDwr() {		service.checkName($("文本框名"), callBackHello);	}//回调函数	function callBackHello(data) {		alert(data);	}

 

 回调函数callBackHello(data),data自动传入类方法的返回值进行操作

 

3.如果是提交表单操作:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%	String path = request.getContextPath();	String basePath = request.getScheme() + "://"			+ request.getServerName() + ":" + request.getServerPort()			+ path + "/";%>													

 

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/u/3647620/blog/1552494

你可能感兴趣的文章
【tarjan+lca】有机化学之神偶尔会做作弊
查看>>
Android之permission权限列表(AndroidManifest.xml)
查看>>
Redux入门学习
查看>>
我的友情链接
查看>>
利用AWS boto实现EC2 存储卷的自动快照
查看>>
微软私有云解决方案专家认证之路
查看>>
曾经的痛啊 关于 becomeFirstResponder
查看>>
Android Service
查看>>
解决iphone safari上的圆角问题
查看>>
zabbix源码安装
查看>>
phpcms笔记
查看>>
查看系统用户登录信息命令
查看>>
CMS之图片管理(2)
查看>>
php 魔术方法总结(持续更新)
查看>>
利用ADMT进行Exchange跨域迁移之一:配置域信任
查看>>
javascript获取系统当前时间
查看>>
【java解惑】java中那些反常识的小知识
查看>>
bash内部命令变量
查看>>
python3.4 之sqlite3,pymysql
查看>>
网络接口
查看>>