html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ajax json jquery 菜单案例</title>
<style type="text/css">
* {
margin: 0;
padding: 0;
} body {
font-size: 13px;
line-height: 130%;
padding: 60px
}
</style>
<link rel="stylesheet" type="text/css" href="../css/style.css" />
<script src="../js/jquery-2.1.1.min.js" type="text/javascript"></script> </head>
<body>
<select name="first" id="first" style="width:160px">
<option value="0">---请选择---</option>
<option value="1">中国</option>
<option value="2">美国</option>
<option value="3">英国</option>
</select>
<select name="second" id="second" size="3" style="width:160px"></select>
<script type="text/javascript">
$(function() {
$("#first").change(function() {
id=document.getElementById("first").value;
$.ajax({
url : "../jsp/second2.jsp",
dataType : "json",
data:"id="+id,
success : function(data) {
var cttylist=eval(data);
var seconddd = document.getElementById("second");
seconddd.innerHTML=null;
for ( var i = 0; i < cttylist.length; i++) {
var op = document.createElement("option");
op.innerHTML = cttylist[i].name;
seconddd.appendChild(op);
}
},
error : function(data) {
alert(data);
}
});
});
});
</script>
</body>
</html>

jsp

<%@ page language="java" import="java.util.*,com.sy.City,com.sy.CityService,net.sf.json.JSONArray" pageEncoding="ISO-8859-1"%>
<%
//接受传过来的数据
String strid=(String)request.getParameter("id");
Integer id=Integer.parseInt(strid);
//根据id获得书名列表
List<City> citylist=new CityService().getCityByCategory(id);
//设置传输编码
response.setContentType("text/html;charset=UTF-8");
//将json解析后输出到前台
out.println(JSONArray.fromObject(citylist));
%>

java City.java

package com.sy;

public class City {
Integer cid;
String cname;
public Integer getId() {
return cid;
}
public void setId(Integer id) {
this.cid = id;
}
public String getName() {
return cname;
}
public void setName(String cname) {
this.cname = cname;
}
public City(Integer cid, String cname) {
super();
this.cid = cid;
this.cname = cname;
} }

java   CityService.java

package com.sy;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; public class CityService {
static Map<Integer , List<City>> CityDb = new HashMap<Integer , List<City>>();
static {
List<City> list1 = new ArrayList<City>();
List<City> list2 = new ArrayList<City>();
List<City> list3 = new ArrayList<City>();
list1.add(new City(1 , "山东"));
list1.add(new City(1 , "北京"));
list1.add(new City(1 , "上海"));
list2.add(new City(2 , "美1"));
list2.add(new City(2 , "美2"));
list3.add(new City(3 , "英1"));
list3.add(new City(3 , "英2"));
list3.add(new City(3 , "英3"));
CityDb.put(1 , list1);
CityDb.put(2 , list2);
CityDb.put(3 , list3);
}
public List<City> getCityByCategory(int categoryId) {
return CityDb.get(categoryId);
}
}

虚拟数据库_json_ajax的更多相关文章

  1. 如何做到在虚拟数据库和真实数据库之间自由切换?【低调赠送:QQ高仿版GG 4.4 最新源码】

    记得以前在公司上班时,有时候白天的活没干完,我就会把工作带回家晚上加班继续做.但是,我们开发用的数据库是部署在公司局网内部的一台服务器上的,在家里是肯定连不上这台机器的.在家里没有数据库,服务端就跑不 ...

  2. Android之数据库的创建

    一.SQLite介绍 SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PHP ...

  3. Amoeba for MySQL---分布式数据库Proxy解决方案

    Amoeba是什么? Amoeba(变形虫)项目,致力于MySQL的分布式数据库前端代理层,它主要在应用层访问MySQL的时候充当SQL路由功能,专注于分布式数据库代理层(Database Proxy ...

  4. Android SQLite (一) 数据库简介

    大家好,今天来介绍一下SQLite的相关知识,并结合Java实现对SQLite数据库的操作. SQLite是D.Richard Hipp用C语言编写的开源嵌入式数据库引擎.它支持大多数的SQL92标准 ...

  5. SQLite数据库简介(转)

    大家好,今天来介绍一下SQLite的相关知识,并结合Java实现对SQLite数据库的操作. SQLite是D.Richard Hipp用C语言编写的开源嵌入式数据库引擎.它支持大多数的SQL92标准 ...

  6. centos6.5安装vsftp服务并配置虚拟账户ftp

      当我们的用户量越来越大时,继续创建更多的系统用户是不明智的,这时就需要为vsftpd创建虚拟账户,但vsftpd虚拟账户的数据库要保存在Berkeley DB格式的数据文件中,所以需要安装db4- ...

  7. Android 开发中使用 SQLite 数据库

    SQLite 介绍 SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能. 此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PHP ...

  8. 数据库读写分离Amoeba

    1.理解读写分离的原理 Amoeba(变形虫)项目,该开源框架于2008发布一款Amoeba for mysql软件,该软件致力于mysql的分布式数据库前端代理层,主要的作用是应用服务访问mysql ...

  9. Mysql数据库读写分离Amoeba

    1.理解读写分离的原理 随着一个网站的业务不断扩展,数据不断增加,数据库的压力也会越来越大,对数据库或者SQL的基本优化可能达不到最终的效果,我们可以采用读写分离的策略来改变现状.读写分离现在被大量应 ...

随机推荐

  1. Socket 的理解及实例

    Socket 的理解及实例Socket 的理解TCP/IP要想理解socket首先得熟悉一下TCP/IP协议族, TCP/IP(Transmission Control Protocol/Intern ...

  2. 阿里云ecs初始化磁盘后远程连接不到服务器

    阿里云初始化磁盘后远程连接不到服务器 报错: WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! ... 原因:阿里云ecs第一次链接服务器之后会在本地电 ...

  3. 翻译连载 | 第 11 章:融会贯通 -《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇

    原文地址:Functional-Light-JS 原文作者:Kyle Simpson-<You-Dont-Know-JS>作者 关于译者:这是一个流淌着沪江血液的纯粹工程:认真,是 HTM ...

  4. [转载] Redis-benchmark使用总结

    转载自http://blog.csdn.net/jiangguilong2000/article/details/24143721 Redis-benchmark为Redis性能测试工具. 指令说明: ...

  5. 【分享】纯jQuery实现星巴克官网导航栏效果

    前言 大冬天的没得玩,只能和代码玩. 所以就无聊研究了一下星巴克官网,在我看来应该是基本还原吧~ 请各位大神指教! 官网效果图 要写的就是最上方的会闪现的白色条条 效果分析 1.在滚动条往下拉到一定距 ...

  6. java-基础-泛型

    java泛型通配符问题.   java中的泛型基本用法参考<java编程思想>第四版 p.353 java泛型中比较难理解的主要是类型擦除和通配符相关.   1.类型擦除 在编译期间,类型 ...

  7. 25个Java机器学习工具和库

    本列表总结了25个Java机器学习工具&库: 1. Weka集成了数据挖掘工作的机器学习算法.这些算法可以直接应用于一个数据集上或者你可以自己编写代码来调用.Weka包括一系列的工具,如数据预 ...

  8. SSM框架下结合 log4j、slf4j打印日志

    首先加入log4j和slf4j的jar包 <!-- 日志处理 <!-- slf4j日志包--> <dependency> <groupId>org.slf4j ...

  9. 正确释放Vector的内存

    http://blog.jobbole.com/37700/ 今天在看微博的时候, 有人提出了一个对于Vector内存泄露的疑问( Link). 博主采用 Vector存储一些数据,但是发现在执行 c ...

  10. hibernate第二天

    hibernate的核心思想就是将之前对单个字段的操作变为操作一个对象,使用了ORM(Object relation mapping)对象关系映射的思想 · 在hibernate中对数据库特殊字段的有 ...