MVC模式.md

MVC模式:

model,view,controller
model被隐藏,显示的是view,而具体操作是通过controller进行的

1.定义model产品类
2.定义view视图类,仅作为显示方法
3.定义controller控制器类,内有model,view成员变量,
	在执行操作时,使用的是成员变量具备的方法(显示或是对model修改)
4.客户端通过对controller进行实例化时,将model,view绑定到controller
	并使用controller进行操作

model:封装controller获取的数据,实现对数据的业务操作,并交由controller
view: 视图展示
controller:获取输入将数据交给model,将model返回的数据交给view显示

1.定义model产品类

class Student{
	private String name;
	private String sex;
	public Student(String name, String sex) {
		super();
		this.name = name;
		this.sex = sex;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
}

2.定义view视图类,仅作为显示方法

class StudentView{
	
	public void printInfo(String name,String sex) {
		System.out.println("Student: "+name+" is "+sex);
	}
}

3.定义controller控制器类,内有model,view成员变量,
在执行操作时,使用的是成员变量具备的方法(显示或是对model修改)

class Controller{
	private Student student;
	private StudentView studentView;
	public Controller(Student student, StudentView studentView) {
		this.student = student;
		this.studentView = studentView;
	}
	public void setStudentName(String name) {
		student.setName(name);
	}
	public void setStudentSex(String sex) {
		student.setSex(sex);
	}
	public void showStudentInfo() {
		studentView.printInfo(student.getName(), student.getSex());
	}
}

4.客户端通过对controller进行实例化时,将model,view绑定到controller
并使用controller进行操作

public static void main(String[] args) {
	Controller controller = new Controller(new Student("sb华", "man"), new StudentView());
	controller.showStudentInfo();
	controller.setStudentName("sbb华");
	controller.showStudentInfo();
}

表示层(WEB层) -> 业务逻辑层(service层) -> 数据访问层(dao层) -> DB(数据库)

表示层:	接收业务参数,封装数据,调用业务逻辑层完成处理,由request共享数据,
		并转发到jsp页面完成显示,Web层不必持有service对象
	控制器:Servlet
	视图:jsp
业务逻辑层:	使用数据访问层的简单方法,组合为复杂的功能,将数据返回给表示层
			service层可以持有service对象
数据访问层: 定义对数据库基本的增删改查操作		
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值