9.1MVC设计模式
分层设计:
➢数据访问接口:DAO层
➢处理业务逻辑:Service层
➢数据实体:POJO
➢负责前端请求的接受并处理:Servlet
➢负责前端页面展示:JSP
这种架构模式就是MVC设计模式,它是软件工程中的软件架构模式.它强制性第使用软件系统输入.处理和输出分开,把软件系统分为三个基本部分:模型(Model).视图(View).控制器(Controller)
(1)视图(View):负责格式化数据并把它们呈现给用户,包括数据展示.用户交互.数据验证.界面设计等功能.对应组件:JSP或者HTML文件.
(2)控制器(Controller):负责接收并转发请求,是应用程序的主体部分,它负责数据逻辑(业务规则)的处理和实现数据操作(即在数据库中存取数据).对应组件:JavaBean
9.1.1JSP Model1
当业务流程较为简单的时候,可以把控制器能交给视图来实现,这种模式称为JSPModel.故Model1模式只有视图和模型,没有控制器(即JSP+JavaBean)
通过图9.2,我们可以发现Model1的基础是JSP,它由JSP和JavaBean组成,JSP从HTTPRequest中获得所需的数据,并进行业务逻辑的处理,然后将结果通过HTTPResponse返回给前端浏览器,从中可见,Model1在一定程度上实现MVC,即JSP将控制层河二为一,JavaBean为模型层.其中JSP身兼多职,既要负责视图层的数据展示,又要负责业务流程的控制,结果较为混乱,并且也不是我们所希望的松耦合架构模式,所以当业务流程复杂的时候并不推荐使用
9.1.2JSP Model2
相比于JSP Model1,当业务流程复杂的时候,就需要把业务流程控制交给控制器来实现,JSP专注于视图的展现即可.这种模式就是JSP Model2(即JSP+Servlet+JavaBean)
从图9.3可以看出,相比Model1,Model2是将控制层(Servlet)单独划分出来负责业务流程的控制,接受请求,创建所需的JavaBean实例,并将处理后的数据在返回给视图层(JSP)进行界面数据展示.这样的架构清晰,效果明显优化很多,并且也是一个松耦合的架构模式,所以除非项目非常简单,一般情况下建议使用JSP Model2
9.1.3小结
1MVC处理过程
图9.4所示是MVC的整体架构图,对于MVC的三部分(模型.视图,控制器)功能职责分别进行了相应的阐述,并描述了各部分之间的调用关系