后台开发学习——MVC+JSON

今天学习时遇到的一些卡壳的问题:

1MVC分层的原理及使用

2、设计模式的六大原则:

3、Ajax

4、Jsongsonxml

5、工厂模式,什么叫Connectionfactory

6、Sql语句,左连接右连接

7、什么叫DHCP创建连接池

一点一点抽时间空闲去解决吧。

 

1、MVC结构

答:Model模型:逻辑处理

View视图:页面的显示和样式展示

Controller控制器:用户与系统之间的连接

 

2、Dao层,Service层,Controller层,View

答:Dao层:接口,负责与数据库进行联络的一些任务都封装于此,在Spring的配置文件中定义此接口的实现类、数据源配置、有关数据库连接的参数。【比如增,删,改,查以及一些特殊的数据库访问方法】

Service层:接口,负责业务模块的逻辑应用设计。也是在Spring配置文件中配置其实现的关联。【既调用Dao层的接口,又提供接口给Controller层的类调用,每个模型都有一个Service接口,每个接口分别封装各自的业务处理方法。】

Controller层:负责具体的业务模块的流程控制。会调用到Service层的接口。也是在Spring的配置文件中配置控制。

View层:负责前台的页面的表示。

注意事项:

Dao层、Service层单独开发,Controller层、View层耦合度比较高,结合在一起开发。

②尽管Service层没有使用在Dao层定义的一些操作方法,但是Dao层操作方法还是要定义完全,因为经过抽象后基本上都是通用的,好处是在对Service层进行扩展的时候不需要再对Dao层进行修改,提高了程序的可扩展性。

 

3、Action层、Service层、Dao层:

答:Action层:管理业务调度和业务跳转,服务员

Service层:管理具体的功能,厨师,按照服务员送上来的菜单做菜

Dao层:增删改查,小工,和原材料打交道

 

4、json

答:(1)定义:

json就是用JavaScript语法写的一个特殊的标记字符串,用于数据交换,JSON 是存储和交换文本信息的语法。类似 XMLJSON XML 更小、更快,更易解析。

(2)语法:

①数据在名称/值对中 eg. name : “dengqinyi”

②数据由逗号分隔 eg. name : “dengqinyi”, nickname : “remoa”

③花括号保存对象 eg. {name : “dengqinyi”, nickname : “remoa”}

④方括号保存数组

Eg  {

people: [

{name : “dengqinyi”, nickname : “remoa”},

{name : “dengqinyi”, nickname : “remoa”},

{name : “dengqinyi”, nickname : “remoa”}

]}

(3)示例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>json测试</title>
		<script type="text/javascript">
			document.write("1、常规Javascript对象定义<br />");
			function Student(name, studentId, sex){
				this.name = name;
				this.studentId = studentId;
				this.sex = sex;
			};
			var s1 = new Student("remoa", "3114005847", "boy");
			document.write("姓名:" + s1.name + "<br />");
			document.write("学号:" + s1.studentId + "<br />");
			document.write("性别:" + s1.sex + "<br />");
			document.write("2、使用json方式定义<br />");
			var s2={
				name : "remoa",
				studentId : 3114005847,
				sex : "boy"
			};
			document.write("姓名:" + s2.name + "<br />");
			document.write("学号:" + s2.studentId + "<br />");
			document.write("性别:" + s2.sex + "<br />");
		</script>
		<script type="text/javascript">
			document.write("3、用json定义数组<br />");
			var array = {
				course:[
					{subject1 : "语文 Chinese", subject2 : "数学 Math", subject3 : "英语 English"},
					{subject1 : "软件工程 Software Engineering", subject2 : "操作系统 Operating System", },
					{subject1 : "人工智能 Artificial Intelligence", subject3 : "数据库 Database"}
				]
			}
			for(var i = 0; i < array.course.length; i++){
				document.write(array.course[i].subject1 + " " + array.course[i].subject2 + " " + array.course[i].subject3 + "<br />");
			}
			document.write("数组未定义完整部分则显示undefined<br />");
		</script>
	</head>
	<body>
		
	</body>
</html>

运行结果:

 后台开发学习——MVC+JSON_第1张图片


5、fastJson

答:(1fastjsonJava语言编写的json处理器。

(2)示例:

Person.java实体类

package domain;

public class Person {
	private String name;
	private String id;
	private String sex;
	public Person(){
		
	}
	public Person(String name, String id, String sex){
		this.name = name;
		this.id = id;
		this.sex = sex;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	@Override
	public String toString() {
		return "Person [name=" + name + ",id=" + id +"]";
	}
}

JsonLearn.java常用方法测试类

package json;

import java.util.ArrayList;
import java.util.List;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SimplePropertyPreFilter;

import domain.Person;

public class JsonLearn {
	public static void main(String[] args) {
		Person person = new Person("remoa", "3114005847", "boy");
		String json1 = JSON.toJSONString(person);//将实体类解析为json格式
		System.out.println(json1);
		System.out.println("--------------------------------");
		System.out.println(JSON.parseObject(json1, Person.class));//反序列化,将我们的str类型转换为class类型的对象
		System.out.println();
		List<Person> list = new ArrayList<Person>();
		for(int i = 0; i < 5; i++){
			Person per = new Person("person" + i, "311300584" + i, "boy");
			list.add(per);
		}
		String json2 = JSON.toJSONString(list);//将列表解析成json格式的数组
		System.out.println(json2);
		System.out.println("--------------------------------");
		String json3 = JSON.toJSONString(list, true);//将其按照标准的json格式输出
		System.out.println(json3);
		System.out.println("--------------------------------");
		SimplePropertyPreFilter filter = new SimplePropertyPreFilter(Person.class, "id", "sex");//此处只序列化id和sex的字段,获得字段为我们需要序列化的字段,如果实体类中没有该字段则不解析放弃该字段而不会报错。
		String json4 = JSON.toJSONString(list, filter);
		System.out.println(json4);
	}
}

运行结果:

 后台开发学习——MVC+JSON_第2张图片

后台开发学习——MVC+JSON_第3张图片

 

你可能感兴趣的:(json,Ajax,mvc,xml,工厂模式)