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 1.导入jar包 <properties> <org.springframework.version>4.2.0.RELEASE</org.springfram
PureMVC框架解读 简易UI框架 1.UI框架核心方法 BaseUI会记录UI的名字(枚举)和Controller用来将UI与具体操作方法解耦
产品经理们如果站在用程序员的思维去思考需求并完成PRD文档,运用MVC模式进行产品设计,那么程序员就能够更好地理解需求,那些不必要的