MVC框架
MVC(model,view,controller),一种将业务逻辑、数据、界面分离的方法组织代码的框架。在改进界面及用户交互的同时,不需要重写业务逻辑。MVC将传统的输入、处理和输出分离。
Model:模型,逻辑部分,也是表示应用程序的核心,比如说数据库的表和记录
View:视图,数据显示,也是表示界面,是用于显示的,比如说显示数据库的记录
Controller:控制器,用户交互,也是表示处理的,比如说处理/增删查改数据库的记录
MVC中,视图可以有多个,在视图中没有真正的处理,视图只作为一种数据输出的形式,一个允许用户操作的平台;模型中的代码可以被多个视图使用;控制器通过接受用户的输入、调用模型、调用视图去完成用户的请求,控制器也不做处理,只做接收请求然后通知相关的模型,再确定用哪个视图来返回数据。
MVC将视图层和业务层分离,很容易改变应用程序的数据层和业务规则,耦合性低且可维护性高。
MVC中的模型可以被不同的视图使用,重用性高。
Spring MVC
基于JAVA实现MVC设计模式的请求驱动类型的轻量型WEB框架,即使用了MVC思想,将WEB层进行解耦。
执行流程:浏览器发送请求给控制器,控制器接收请求将请求委托给业务对象进行处理,然后将结果使用视图渲染返回到浏览器。
简单MVC实例
图一:结构图
图二:页面介绍
以添加课程整个流程为例
1)在showCourse.jsp(View)中,有一添加课程的链接,使用action传递请求到courseServlet(Controller)
2)在courseServlet.java中,deGet方法
3)doPost方法,在其间判断action做什么
4)找到addApply,执行addApply(req,resp,out)方法
5)到上一步所说的方法,前段控制器,请求委托,到达addCourse.jsp页面
6)addCourse.jsp又再次请求,addHandin,再次到达courseServlet中
7)此时执行addHandin方法