实例解析java + jQuery + json工作过程(登录)
代码演示:
http://code.google.com/p/finance-p/source/browse/#svn/trunk
本文主要讲解在java环境下使用jQuery进行JSON数据传送的交互过程
参考根据作者的账务管理系统(个人版) 源码下载 讲解
一、相关技术、工具简介
1、简单介绍一下JSON,JSON是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。已键值对形式表示数据,和java中的Map的数据存储形式相似,具体细节请参考http://www.json.org/json-zh.html。
2、对应后台JSON的数据处理工具json-lib,包含各种格式数据的工具类,比如:JavaBean、数组、集合(Collection)等,参考API文档。
3、jQuery框架中的数据表现形式,如果你熟悉jQuery的话就会发现jQuery的使用的数据传输都是JSON格式,比如我们经常使用的$.ajax方法:
$.ajax({
url : url,
data : {
id : chkValue
},
cache : false,
dataType : "json",
success : function(result){
alert(result);
}
);
其中 {…} 表示的就是JSON格式的数据
二、前台工作方式
为了能够容易理解以系统登录讲解,最后会以一个实例的方式讲解
1、登录页面
代码请参见 http://code.google.com/p/finance-p/source/browse/trunk/login.jsp
用户名:
<input id="loginName" name="loginName" size="20" type="text" />
密码:
<input id="password" name="password" size="20" type="password" />
2、登录javascript文件 login.js
/**
* 设置表单验证规则
*/
function regFormValidator() {
$.formValidator.initConfig({formid:"loginForm"});
$("#loginName").formValidator({
onshow : "请输入用户名",
onfocus : "用户名至少2个字,最多4个字"
}).inputValidator({
min : 1,
onerror : "你输入的用户名非法,请确认"
});
$("#password").formValidator({
onshow : "请输入密码"
}).inputValidator({
min : 6,
onerror : "密码在6位以上,请确认"
});
}
$(function() {
// 注册表单验证插件
regFormValidator();
$('#submit').click(function(){
// 验证输入的用户名、密码是否正确
var valid = jQuery.formValidator.pageIsValid('1');
if (valid) {
$(this).attr('value', '正在登录……').attr('disabled', true);
} else {
return;
}
相关文档:
将Flex与Spring集成后(BlazeDS 与Spring集成指南 ),第一个面临的问题就是:对于Java端返回的各种Java类型的对象,Flex中能否有相应的数据类型来映射。
处理,尤其是List、Set、Map及POJO对象值。
在 BlazeDS 与Spring集成指南 例子的基础上,调整相关的测试代码如下:
1、Java端
1.1、com.yeeach.HelloWorldService ......
全局变量:也叫成员变量,是指在类中定义的变量;它在整个类中都有效
全局变量又可分为:类变量和实例变量
1.类变量:又叫静态变量 ......
一、理解多线程
多线程是这样一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通 ......
package com.word.tools.pool;
import java.util.Vector;
import com.word.po.ObjectPool_Param;
import com.word.po.TyjkXmlPO;
public class TyjkXmlPool
{
/**对象池参数*/
private ObjectPool_Param ob_param;
/**存放对象的Vector*/
......
第一种:
Map map = new HashMap();
Iterator iter = map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
Object key = entry.getKey();
Object val = entry.getValue();
}
效率高,以后一定要使用此种方式!
第二种:
Map map = new HashMap();
Iterator iter = ma ......