首页 > 代码库 > 课程作业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各部分之间的关系:

  1. View 传送指令到 Controller
  1. Controller 完成业务逻辑后,要求 Model 改变状态
  1. 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框架