JSON实战案例--使用JSON进行数据交换实例
内容:
1.访问javaScript对象的属性
2.访问Javacript对象数组
3.JSON字符串转换成JavaScript对象
4 .Java对象转换成JSON字符串
5 .使用JSON完成级联下拉列表
6 .热卖商品动态显示
1 访问JavaScript对象的属性
1.1 问题
访问JavaScript对象的属性
1.2 方案
使用初始化的方式创建JavaScript对象,并访问对象的属性。
1.3 步骤
步骤一: 新建json01.html文件
添加链接的单击动作,调用方法。
步骤二: 运行查看结果
步骤三: 添加复杂对象
步骤四: 运行查看结果
1.4 完整代码
json01.html文件代码如下:
<html>
<head>
<title>json01.html</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript">
function f1(){
var obj = {'name':'Luffy','age':17};
alert(obj.name + " " + obj.age);
}
function f2(){
var obj = {'name':'Luffy',
'address':{
'city':'Beijing',
'street':'dzs',
'room':17
}};
alert(obj.name + " " + obj.address+" "+obj.address.city );
}
</script>
</head> <body>
<!—- 创建JavaScript对象并查看属性 -->
<a href="javascript:;" onclick="f1();">查看对象属性1</a>
</br>
<a href="javascript:;" onclick="f2();">查看对象属性2</a>
</body>
</html>
2 访问Javacript对象数组
2.1 问题
访问JavaScript对象数组中的元素
2.2 方案
遵循数组的格式要求,使用方括号开头和结尾。
2.3 步骤
步骤一: 新建json02.html文件,在文件中添加链接进行方法调用的测试。添加第一个方法f3()。
步骤二: 运行查看结果
步骤三: 添加下一个方法f4()
步骤四: 运行查看结果
2.4 完整代码
json02.html文件代码如下:
<html>
<head>
<title>json02.html</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript">
function f3(){
var arr = [ {'name':'Luffy','age':17},
{'name':'Zoro','age':19}];
alert(arr[1].name);
}
function f4(){
var obj = {'name':'Luffy',
'friends':[{'name':'Zoro','age':19},
{'name':'Nami','age':18}]
};
alert(obj.name + " " + obj.friends[1].name);
}
</script>
</head> <body>
<!— 访问JavaScript对象数组 -->
<a href="javascript:;" onclick="f3();">查看数组中的对象属性1</a>
</br>
<a href="javascript:;" onclick="f4();">查看数组中的对象属性2</a>
</body>
</html>
3.JSON字符串转换成JavaScript对象
3.1 问题
将符合JSON格式要求的字符串,转换为JavaScript对象。
3.2 方案
借助于原生的eval方法或者原生对象JSON.parse(str)方法。
3.3 步骤
步骤一: 新建json03.html文件
在文件中添加脚本代码,f5()方法为字符串到对象的转变过程。JSON这个原生对象提供了字符串和对象之间转换的方法,如果浏览器无法得到想要的输出结果,是因为版本太低不支持这个原生对象。
步骤二:运行查看结果
步骤三: 添加方法f6(),实现数组的转换
步骤四:运行查看结果
步骤五:添加f7()方法,实现对象到字符串的转换
步骤六: 运行查看结果
3.4 完整代码
<html>
<head>
<title>json03.html</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="js/json.js"></script>
<script type="text/javascript"> /*JSON字符串转JSON对象*/
function f5(){
var str = '{"name":"Luffy","age":17}'; //第1种方式(不需要任何js文件)
//var obj = eval("("+str+")"); 第2种方式(不需要json.js文件)
//var obj = JSON.parse(str); //第3种方式(需要json.js文件)
//var obj = str.parseJSON(); alert(obj.name);
} /*JSON字符串转JSON数组*/
function f6(){
var str = '[{"name":"Luffy","age":17},' +
'{"name":"Zoro","age":19}]'; //第1种方式(不需要json.js文件)
var arr = eval("("+str+")"); //第2种方式(需要json.js文件)
//var arr = str.parseJSON(); alert(arr[1].name);
} /*JSON对象转JSON字符串*/
function f7(){
var obj = {"name":"Luffy","age":17}; //第1种方式(需要json.js文件)
//var str = obj.toJSONString(); //第2种方式(不需要json.js文件)
var str = JSON.stringify(obj);
alert(str);
}
</script>
</head>
<body>
<!-- 使用JSON表示数组 -->
<a href="javascript:;" onclick="f5();">JSON字符串-->JSON对象</a><br/><br/><br/>
<a href="javascript:;" onclick="f6();">JSON字符串-->JSON数组</a><br/><br/><br/>
<a href="javascript:;" onclick="f7();">JSON对象-->JSON字符串</a><br/><br/><br/>
</body>
</html>
4 .Java对象转换成JSON字符串
Java对象转换为JSON字符串;
Java数组转换为JSON字符串;
JSON字符串转换为Java对象;
JSON字符串转换为Java数组。
4.1 问题
将Java对象转换成符合JSON格式的字符串,并测试。
4.2 方案
使用与json-lib.jar相关的jar文件完成类型的转换。
4.3 步骤
步骤一: 新建实体类 Friend
package com.souvc.json; public class Friend {
private String name;
private int age; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public String toString() {
return this.name + " " + this.age;
}
}
步骤二: 新建JSONTest类
在该类中添加四个方法,分别用于测试Java对象转换为JSON字符串,Java数组转换为JSON字符串,JSON字符串转换为Java对象,JSON字符串转换为Java数组。
步骤三: 引入jar文件
在添加jar文件的时候,需要导入6个jar文件,缺一不可。
网盘jar包下载地址:http://yunpan.cn/cQyHfiAYWHmhg 访问密码 ab8f
或是到官方下载最新的json-lib工具包 下载地址:http://sourceforge.net/projects/json-lib/files/json-lib/json-lib-2.4/ json-lib还需要以下依赖包: jakarta commons-lang 2.5
jakarta commons-beanutils 1.8.0
jakarta commons-collections 3.2.1
jakarta commons-logging 1.1.1
ezmorph 1.0.6
步骤四: 添加具体的转换方法:Java对象转换为JSON字符串
/**
* Java对象转换为JSON字符串
*/
public static void test1() {
Friend f = new Friend();
f.setName("Zoro");
f.setAge(19);
JSONObject jsonObj = JSONObject.fromObject(f);
String jsonStr = jsonObj.toString();
System.out.println(jsonStr);
}
步骤五:运行结果
{"age":19,"name":"Zoro"}
步骤六: Java数组(集合)转换为JSON字符串
/**
* JSON字符串转换为Java数组
*/
public static void test4() {
String jsonStr = "[{\"name\":\"Luffy\",\"age\":17},"
+ " {\"name\":\"Zoro\",\"age\":19}]";
JSONArray jsonArr = JSONArray.fromObject(jsonStr);
List<Friend> friends = (List<Friend>) JSONArray.toCollection(jsonArr,
Friend.class);
for (Friend f : friends) {
System.out.println(f);
}
}
运行结果:
[{"age":19,"name":"Zoro1"},{"age":20,"name":"Zoro2"},{"age":21,"name":"Zoro3"}]
步骤七:JSON字符串转换为Java对象
/**
* JSON字符串转换为Java对象
*/
public static void test3() {
String jsonStr = "{\"name\":\"Luffy\",\"age\":17}";
JSONObject jsonObj = JSONObject.fromObject(jsonStr);
Friend friend = (Friend) JSONObject.toBean(jsonObj, Friend.class);
System.out.println(friend);
}
运行结果:
Luffy 17
步骤八: JSON字符串转换为Java数组(集合)
/**
* JSON字符串转换为Java数组
*/
public static void test4() {
String jsonStr = "[{\"name\":\"Luffy\",\"age\":17},"
+ " {\"name\":\"Zoro\",\"age\":19}]";
JSONArray jsonArr = JSONArray.fromObject(jsonStr);
List<Friend> friends = (List<Friend>) JSONArray.toCollection(jsonArr,
Friend.class);
for (Friend f : friends) {
System.out.println(f);
}
}
运行结果:
Luffy 17
Zoro 19
4.4 完整代码
Friend.java文件代码如下:
package com.souvc.json; public class Friend {
private String name;
private int age; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public String toString() {
return this.name + " " + this.age;
}
}
JSONTest 代码:
package com.souvc.json; import java.util.ArrayList;
import java.util.List; import net.sf.json.JSONArray;
import net.sf.json.JSONObject; public class JSONTest {
/**
* Java对象转换为JSON字符串
*/
public static void test1() {
Friend f = new Friend();
f.setName("Zoro");
f.setAge(19);
JSONObject jsonObj = JSONObject.fromObject(f);
String jsonStr = jsonObj.toString();
System.out.println(jsonStr);
} /**
* Java数组转换为JSON字符串
*/
public static void test2() {
List<Friend> fs = new ArrayList<Friend>();
for (int i = 0; i < 3; i++) {
Friend f = new Friend();
f.setName("Zoro" + (i + 1));
f.setAge(19 + i);
fs.add(f);
}
JSONArray jsonArr = JSONArray.fromObject(fs);
String jsonStr = jsonArr.toString();
System.out.println(jsonStr);
} /**
* JSON字符串转换为Java对象
*/
public static void test3() {
String jsonStr = "{\"name\":\"Luffy\",\"age\":17}";
JSONObject jsonObj = JSONObject.fromObject(jsonStr);
Friend friend = (Friend) JSONObject.toBean(jsonObj, Friend.class);
System.out.println(friend);
} /**
* JSON字符串转换为Java数组
*/
public static void test4() {
String jsonStr = "[{\"name\":\"Luffy\",\"age\":17},"
+ " {\"name\":\"Zoro\",\"age\":19}]";
JSONArray jsonArr = JSONArray.fromObject(jsonStr);
List<Friend> friends = (List<Friend>) JSONArray.toCollection(jsonArr,
Friend.class);
for (Friend f : friends) {
System.out.println(f);
}
} public static void main(String[] args) {
test1();
test2();
test3();
test4();
} }
5 使用JSON完成级联下拉列表
5.1 问题
结合异步请求,实现城市的级联下拉列表。
5.2 方案
分别编写客户端脚本和服务器端处理程序。服务器端要实现将Java对象转换为传输的JSON字符串。客户端在收到这个字符串以后进行转换,变成JavaScript对象,使用对象的各个属性构造下拉框的Option选项后添加到select下面。
5.3 步骤
步骤一: 新建实体类City
package com.souvc.json; public class City {
private String cityName;
private String cityValue; public City() {
super();
} public City(String cityName, String cityValue) {
super();
this.cityName = cityName;
this.cityValue = cityValue;
} public String getCityName() {
return cityName;
} public void setCityName(String cityName) {
this.cityName = cityName;
} public String getCityValue() {
return cityValue;
} public void setCityValue(String cityValue) {
this.cityValue = cityValue;
}
}
步骤二: 新建ActionServlet
package com.souvc.json; import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import net.sf.json.JSONArray; public class ActionServlet extends HttpServlet {
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); //获得请求路径
String uri = request.getRequestURI();
//截取请求路径
String action = uri.substring(uri.lastIndexOf("/"), uri
.lastIndexOf(".")); if (action.equals("/city")) {
String name = request.getParameter("name");
if (name.equals("bj")) {
City c1 = new City("海淀", "hd");
City c2 = new City("东城", "dc");
City c3 = new City("西城", "xc");
List<City> cs = new ArrayList<City>();
cs.add(c1);
cs.add(c2);
cs.add(c3);
JSONArray obj = JSONArray.fromObject(cs);
String str = obj.toString();
out.println(str); } else if (name.equals("sh")) {
City c1 = new City("徐汇", "xh");
City c2 = new City("静安", "ja");
City c3 = new City("黄浦", "hp");
List<City> cs = new ArrayList<City>();
cs.add(c1);
cs.add(c2);
cs.add(c3);
JSONArray obj = JSONArray.fromObject(cs);
String str = obj.toString();
out.println(str);
} }
out.close();
}
}
步骤三: 新建city.html文件
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>city.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="js/json2.js"></script>
<script type="text/javascript">
function getXmlHttpRequest(){
var xhr = null;
if((typeof XMLHttpRequest)!='undefined'){
xhr = new XMLHttpRequest();
}else {
xhr = new ActiveXObject('Microsoft.XMLHttp');
}
return xhr;
}
function change(v1){
var xhr = getXmlHttpRequest();
xhr.open('post','city.do',true);
xhr.setRequestHeader("Content-Type",
"application/x-www-form-urlencoded");
xhr.onreadystatechange=function(){
if(xhr.readyState == 4){
var txt = xhr.responseText;
var citys = txt.parseJSON();
document.getElementById('s2').innerHTML = '';
for(i=0;i<citys.length;i++){
var op =
new Option(citys[i].cityName,
citys[i].cityValue);
document.getElementById('s2').options[i] = op;
}
}
};
xhr.send('name=' + v1);
}
</script>
</head> <body>
<select id="s1" style="width: 120px;" onchange="change(this.value);">
<option value="sh">
上海
</option>
<option value="bj">
北京
</option>
</select>
<select id="s2" style="width: 120px;">
</select>
</body>
</html>
步骤四: 运行查看结果
5.4 完整代码
如上。
6 热卖商品动态显示
6.1 问题
每隔5秒钟,显示当前卖的最好的三件商品。
6.2 方案
每5秒钟发送一次Ajax请求,将返回的JSON数组数据显示到页面的div中。
6.3 步骤
步骤一: 新建Sale类
package com.souvc.json; public class Sale {
private int id;
private String prodName;
private int qty; public Sale() {
super();
} public Sale(int id, String prodName, int qty) {
super();
this.id = id;
this.prodName = prodName;
this.qty = qty;
} public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getProdName() {
return prodName;
} public void setProdName(String prodName) {
this.prodName = prodName;
} public int getQty() {
return qty;
} public void setQty(int qty) {
this.qty = qty;
}
}
步骤二: 新建dao包下面的DBUtil类和SaleDAO类
DBUtil.java文件:
package com.souvc.json; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException; /**
* JDBC管理连接的工具类,可以获取连接和关闭连接
*/
public class DBUtil {
/**
* 获取连接对象
*/
public static Connection getConnection() throws Exception {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/csdn", "root", "123456");
} catch (Exception e) {
e.printStackTrace();
throw e;
}
return conn;
} /**
* 关闭连接对象
*/
public static void close(Connection conn) throws Exception {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
throw e;
}
}
}
}
执行如下sql语句:
新建SaleDAO.java文件,编写用于查询销量前三的方法。
package com.souvc.json; import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List; public class SaleDAO {
public List<Sale> findAll() throws Exception {
List<Sale> sales = new ArrayList<Sale>();
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
try {
conn = DBUtil.getConnection();
stmt = conn.prepareStatement("select * from (select rownum r,"
+ "a.* from (select * from t_sale order by qty desc) a) "
+ "c where c.r < 4");
rs = stmt.executeQuery();
while (rs.next()) {
Sale s = new Sale(rs.getInt("id"), rs.getString("prodname"), rs
.getInt("qty"));
sales.add(s);
}
} catch (Exception e) {
e.printStackTrace();
throw e;
} finally {
DBUtil.close(conn);
}
return sales;
}
}
步骤三: 新建ActionServlet类
package com.souvc.json; import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import net.sf.json.JSONArray; public class ActionServlet extends HttpServlet {
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); // 获得请求路径
String uri = request.getRequestURI();
// 截取请求路径
String action = uri.substring(uri.lastIndexOf("/"), uri
.lastIndexOf(".")); if (action.equals("/city")) {
String name = request.getParameter("name");
if (name.equals("bj")) {
City c1 = new City("海淀", "hd");
City c2 = new City("东城", "dc");
City c3 = new City("西城", "xc");
List<City> cs = new ArrayList<City>();
cs.add(c1);
cs.add(c2);
cs.add(c3);
JSONArray obj = JSONArray.fromObject(cs);
String str = obj.toString();
out.println(str); } else if (name.equals("sh")) {
City c1 = new City("徐汇", "xh");
City c2 = new City("静安", "ja");
City c3 = new City("黄浦", "hp");
List<City> cs = new ArrayList<City>();
cs.add(c1);
cs.add(c2);
cs.add(c3);
JSONArray obj = JSONArray.fromObject(cs);
String str = obj.toString();
out.println(str);
} } else if (action.equals("/sale")) {
SaleDAO dao = new SaleDAO();
try {
List<Sale> all = dao.findAll();
JSONArray arry = JSONArray.fromObject(all);
out.println(arry.toString());
} catch (Exception e) {
e.printStackTrace();
throw new ServletException(e);
}
}
out.close();
}
}
步骤四: 新建sales.html文件
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>sales.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<style>
#d1 {
width: 500px;
height: 180px;
background-color: #fff8dc;
border: 1px solid red;
margin-left: 350px;
margin-top: 50px;
}
</style> <script type="text/javascript" src="js/prototype-1.6.0.3.js"></script>
<script type="text/javascript">
function getXmlHttpRequest(){
var xhr = null;
if((typeof XMLHttpRequest)!='undefined'){
xhr = new XMLHttpRequest();
}else {
xhr = new ActiveXObject('Microsoft.XMLHttp');
}
return xhr;
}
function f1(){
setInterval(f2,5000);
}
function f2(){
var xhr = getXmlHttpRequest();
xhr.open('post','sale.do',true);
xhr.setRequestHeader("Content-Type",
"application/x-www-form-urlencoded");
xhr.onreadystatechange=function(){
if(xhr.readyState == 4){
var txt = xhr.responseText;
var sales = txt.evalJSON();
var saleInfo = '当前销量最好的商品是:<br/>';
for(i=0;i<sales.length;i++){
saleInfo += '商品名称:'
+ sales[i].prodName + ' 销量:' +
sales[i].qty + '<br/>';
}
$('d1').innerHTML = saleInfo;
}
};
xhr.send(null);
}
</script>
</head> <body onload="f1();">
<div id="d1"></div>
</body>
</html>
步骤五:运行查看结果
6.4 完整代码
源码: http://yunpan.cn/cQyrTefxWuHfK 访问密码 7b77
JSON实战案例--使用JSON进行数据交换实例的更多相关文章
- javascript之JSON小案例,实现添加数据与清楚数据
对json应用给出一个小案例,加深一些理解: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" & ...
- Android之使用json进行网络数据交换
JSON作为一种轻量级的数据交换格式,凭借其易于阅读和编写.易于解析.传输速度快等优点流行了起来.最近正好在学习Android端从服务端端取数据,Json便派上了用场.好,下面开始切入主题. 1.准备 ...
- 数据交换格式Json与XML
什么是数据交换格式: 主流的有Json.XML.HTML. 数据交换格式的应用场景: 移动端(安卓,IOS)通讯方式采用http协议+Json格式的restful风格. 很多互联网公司都是用Http协 ...
- JSON——IT技术人员都必须要了解的一种数据交换格式
JSON作为目前Web主流的数据交换格式,是每个IT技术人员都必须要了解的一种数据交换格式.尤其是在Ajax和REST技术的大行其道的当今,JSON无疑成为了数据交换格式的首选! 今天大家就和猪哥一起 ...
- 两种常用的数据交换格式:XML和JSON
不同编程语言之间的数据传输,需要一种通用的数据交换格式,它需要简洁.易于数据储存.快速读取,且独立于各种编程语言.我们往往传输的是文本文件,比如我们都知道的csv(comma seperated va ...
- 数据交换格式 JSON
1. 什么是 JSON 概念 : JSON 的英文全称是 JavaScript ObjEct Notation, 即 "JavaScript 对象表示法" . 简单来讲 : JSO ...
- JSON之Asp.net MVC C#对象转JSON,DataTable转JSON,List转JSON,JSON转List,JSON转C#对象
一.JSON解析与字符串化 JSON.stringify() 序列化对象.数组或原始值 语法:JSON.stringify(o,filter,indent) o,要转换成JSON的对象.数组或原始值 ...
- javascript中字符串格式json如何转化成json对象
什么是JSON JSON(JavaScript Object Notation)是一种优美的JavaScript对象创建方法.JSON也是一种轻量级数据交换格式.JSON非常易于人阅读与编写,同时利于 ...
- json解包与json封包
首先,对两个名词进行简单的说明: 1.NSData 用来存储二进制的数据类型.NSData类提供了一种简单的方式,它用来设置缓冲区.将文件的内容读入缓冲区,或将缓冲区的内容写到一个文件.不变缓冲区(N ...
随机推荐
- Ajax学习整理
什么是ajax?W3School中给ajax的定义是: 1.AJAX = 异步 JavaScript 和 XML. 2.AJAX 是一种用于创建快速动态网页的技术. 3.通过在后台与服务器进行少量数据 ...
- HTML5使用ApplicationCache
在html5中使用application cache可以把一些静态资源保存在客户端的浏览器上面.这样可以提高访问的速度,甚至是离线应用.关于application cache的优缺点:1.离线浏览 - ...
- Linq之group子句
在Linq查询语句中,group子句主要作用是对查询的结果集进行分组.并返回元素类型为IGrouping<TKey,TElement>的对象序列. 下面我们在代码实例中创建一个GroupQ ...
- C#修改文件或文件夹的权限,为指定用户、用户组添加完全控制权限
C#修改文件或文件夹的权限,为指定用户.用户组添加完全控制权限 public void SetFileRole(string foldPath) { DirectorySecurity fsec = ...
- 【JS复习笔记】02 对象与函数
好吧,因为很重要的事情,几天没写笔记了. 关于对象: ||可以用来填充默认值,如:myApp.name || "无" &&可以用来避免错误,myApp.NameOb ...
- XMLHelper.cs
http://yunpan.cn/Q7czcYTwE8qkc 提取码 545c using System; using System.Linq; using System.Xml.Linq; usi ...
- x3dom 1.6 发布
X3DOM 库的1.6版本发布了,以下是最重要的一些变化: 完整的新的文档频道 - http://doc.x3dom.org x3dom实例频道 - http://examples.x3dom.or ...
- Hibernate的缓存技术详解
转载注明出处:http://www.cnblogs.com/xiaoming0601/p/5882980.html 一.什么是缓存: 并不是指计算机的内存或者CPU的一二级缓存:缓存是指为了降低应用程 ...
- mysql 5.6到percona 5.6小版本升级
假设原来是mysql 5.6.19社区版,现在要升级到percona server 5.6.30. 对于大的数据库来说,采用mysqldump方式进行迁移太花费时间了,可采用新安装加载原来数据库的方式 ...
- Mvc项目架构分享之项目扩展
Mvc项目架构分享之项目扩展 Contents 系列一[架构概览] 0.项目简介 1.项目解决方案分层方案 2.所用到的技术 3.项目引用关系 系列二[架构搭建初步] 4.项目架构各部分解析 5.项目 ...