必威体育Betway必威体育官网
当前位置:首页 > IT技术

Web中MVC设计理念 & 经典三层架构 & 五大主流框架

时间:2019-08-15 21:14:22来源:IT技术作者:seo实验室小编阅读:68次「手机版」
 

mvc框架

一、Web的MVC设计理念和MVC框架

之前在Web篇04中已经详述了Servlet、TomCat、JSP和Web.xml之间的联系;

(1)浏览器发送请求到收到响应,简要的过程如下:

浏览器发送请求后,由Web.xml中规定的协议,进入TomCat中特定的Servlet,服务器先到Web-content中找有没有对应的html/jsp页面,如果没有再到WEB-INF目录下的xml配置文件中找映射,通过映射找到响应文件html/jsp,响应给浏览器。

(2)浏览器再点击JSP页面后,再次发送请求,接下来的处理就可以用下面的MVC设计理念来讲解:

MVC,全称Model View controller,即模型-视图-控制器;

1. Model(模型):

是Web应用中用于处理数据逻辑的部分,包括Service层和Dao层;

Service层用于和数据库联动,放置业务逻辑代码,处理数据库的增删改查

Dao层用于放各种接口,以备调用;

2. View(视图):

是Web应用中处理响应给客户的页面的部分,例如我们写的html静态页面,jsp动态页面,这些最终响应给浏览器的页面都是视图;

通常视图是依据模型数据来创建的;

3. Controller(控制器):

在Web应用中,简而言之,就是Servlet,或者SpringMVC框架中加了注解@Controller的方法(实际上一个方法就相当于一个对应的Servlet);

它们三者之间的关系,用一张在网上找的图概况,如下:

在这里插入图片描述

首先,浏览器发送请求,JSP页面响应给客户,客户点击JSP页面上的内容,再次提交请求;

这一次,请求到Controller控制器模块,也就是Servlet服务器中,

Servlet服务器通过分析请求,判断客户的需求,

然后调用Model模型,用Service层处理数据库的增删改查,用Dao层提供接口支持,

然后Servlet将数据驱动到View视图层也就是JSP页面中,

将JSP页面响应给浏览器,客户看到动态的内容。

在这个过程中,最典型的的MVC模型就是 javaBean + JSP + Servlet的模式,各司其职,分工合作;这种设计理念可以把html代码块和业务逻辑代码块分开,让代码更清晰,便于开发

而依据MVC设计模式,来搭建的MVC框架,则是该设计模式思想的具体实现,它强制性的使应用程序输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。

二、Web的经典三层架构

Web经典三层架构是指:

1. 表现层,UI,User Interface:

主要接受用户的请求和把相应的页面响应给用户浏览器;

其中aspx页面,对应MVC中的视图(View),即JSP页面

而aspx.cs页面,对应MVC中的控制器(Controller),即Servlet服务器

2. 业务逻辑层,BLL,Business Logic Layer:

对应MVC中模型(Model)中的Service层,与数据库联动处理增删改查;

3. 数据访问层/持久层,DAL,Data Access Layer:

对应MVC中模型(Model)中的Dao层,提供接口支持;

其余的文件,例如JavaBean作为原材料被三层架构调用,贯彻三层接口;xml配置文件给三层架构提供良好的配置环境。

借用一张网上的图来展示:

在这里插入图片描述

这种分层式结构,可以降低各层之间的依赖,降低耦合,是一种弱耦合结构。

三、Web的五大主流框架(简介)

1. spring框架

核心是DI(Dependency Injection)(依赖注入)和IOC(Inversion of Control)(反转控制);

(1)Spring框架对Web的支持是,SpringMVC框架

(2)Spring框架对持久层的支持是,JDBCTemplate

2. SpringMVC框架

优势是优化了B/S结构(浏览器-服务器),简化了Servlet的创建

在其他框架中,一个url请求需要new一个新的Servlet与之相对应,

在SpringMVC框架中,由于DispatcherServlet的存在,任何的url(除了jsp外)它都能处理,然后依据映射找到一个对应的@Controller的注解类,就相当于一个Servlet;

相当于把Servlet转变成了注解类,多个注解类可以写在同一个java文件中,代码方式简洁、优雅;

补充一下maven仓库的作用:

maven仓库可以通过<denpendency 标签,由GAV信息导入所需要的jar包,不同的jar包GAV代码在官网可直接查找,导入jar包的方式简单方便。

3. MyBATis框架

它的作用是可以与数据库进行联动,在其中写sql语句,进行数据库的增删改查;

4. Hibernate框架

5. struts2框架

相关阅读

看springmvc适配器模式---HandlerAdapter

适配器模式 就是你有一个类接口,但是这个接口不太符合你的预期,如果要用他就需要在他的源码上进行一些修改,这时你可以做一个适配器

MVC分部视图的使用:Html.Partial/RenderPartial,Html.

ASP.NET MVC 里的部分视图,相当于 Web Form 里的 User Control。我们的页面往往会有许多重用的地方,可以进行封装重用。使用部分视

Spring整合HIbernate和springmvc

Spring整合HIbernate和springmvc 1.导入jar包 <properties> <org.springframework.version>4.2.0.RELEASE</org.springfram

[Unity]PureMVC框架解读(上)

PureMVC框架解读 简易UI框架 1.UI框架核心方法 BaseUI会记录UI的名字(枚举)和Controller用来将UI与具体操作方法解耦

如何在产品设计中运用MVC模式?

产品经理们如果站在用程序员的思维去思考需求并完成PRD文档,运用MVC模式进行产品设计,那么程序员就能够更好地理解需求,那些不必要的

分享到:

栏目导航

推荐阅读

热门阅读