首页 > 代码库 > 课程作业07 MVC框架
课程作业07 MVC框架
MVC简介
- MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器。
- MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式
- MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。
- 最典型的MVC就是JSP + servlet + javabean的模式。
- MVC模式的意思是,软件可以分成三个部分\
- 如下图:
-
MVC实现的两种分离
View与Model的分离:
能够为相同的Model开发不同的View进行展示;分离了可视与不可视的组件,能够对Model进行独立的测试(只有View到Model的单向引用)。
View与Controller的分离此处的分离,使得能够对Controller进行独立的测试(只有Controller到View的单向引用)
Mvc各部分之间的关系:
- View 传送指令到 Controller
- Controller 完成业务逻辑后,要求 Model 改变状态
- Model 将新的数据发送到 View,用户得到反馈
如图:
Mvc详细请求流程
c控制着model模型与view(jsp)视图的之间的通信,然后把model与view的耦合度解开。
如下图:
Mvc的特点:
- 优点
1、耦合性低
运用MVC的应用程序的三个部件是相互独立,改变其中一个不会影响其它两个,所以依据这种设计思想能构造良好的松耦合的构件
2、重用性高
MVC模式允许使用各种不同样式的视图来访问同一个服务器端的代码,因为多个视图能共享一个模型;
3、可维护性高
分离视图层和业务逻辑层也使得web应用更易于维护和修改
- 缺点
1、没有明确的定义
完全理解MVC并不是很容易,每个构件在使用之前都需要经过彻底的测试
2、不适合小型,中等规模的应用程序
花费大量时间将MVC应用到规模并不是很大的应用程序通常会得不偿失
3、视图与控制器间的过于紧密的连接
视图与控制器是相互分离,但却是联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。
Java Web应用程序的主要组件
- Servlet组件
- Servlet运行于Web容器中,如Tomcat。
- .JSP组件
- JSP是一种动态网页技术。
- JavaBean组件
- JavaBean组件是一种符合特定规范的Java对象。
- web容器通过ServletRequest对象和ServletResponse对象与方法进行信息传递,再将返回的信息给浏览器解析
- 浏览器把jsp翻译成java文件进行编译,生产HTML。
- 使用该组件存储一些中间数据。例如ServletRequest的请求信息、从数据库中查询出来的信息
Java Web解决方案
- JSP+Servlet+JavaBean开发模式:JSP作为视图,来表现页面;Servlet作为控制器,控制程序的流程并调用业务进行处理;JavaBean封装了业务逻辑。遵循了MVC设计模式。
- Struts+Spring+Hibernate开发方案:
- Struts负责表示层,
- Spring负责逻辑层的业务,
- Hibernate持久层中数据库的操作,
- 组成的开发方案。
常用的Java Web 的MVC框架
- Struts是一个基于Sun J2EE平台的MVC框架,主要是采Servlet和JSP技术来实现的。
- Struts把Servlet、JSP、自定义标签和信息(messageresources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间。
Spring MVC,
Spring Web MVC框架( 简称Spring MVC)是一个丰富的模型视图控制Web框架。它通过使用 Dispatcher Servlet发布请求处理,他使用可配置的处理程序映射,视图解析和主题解决方案。
课程作业07 MVC框架