标签:
MVC模型(Model-View-Controller)是一种架构型的模式,本身不引入新功能,只是帮助我们将开发的结构组织的更加合理,使展示与模型分离、流程控制逻辑、业务逻辑调用与展示逻辑分离。
Model提供要展示的数据。View负责进行模型的展示,一般就是我们见到的用户界面,客户想看到的东西。Controller接收用户请求,委托给模型进行处理(状态改变),处理完毕后把返回的模型数据返回给视图,由视图负责展示。
在标准的MVC中模型能主动推数据给视图进行更新(观察者设计模式,在模型上注册视图,当模型更新时自动更新视图)。
在Web MVC模式下,模型无法主动推数据给视图(无法主动更新用户界面),如果用户想要视图更新,需要再发送一次请求(即请求-响应模型)。
第一步:Web浏览器使用HTTP请求向服务器传达用户的动作。(当HTTP请求到达服务器的时候,MVC模式开始运行。根据请求中携带的信息,比如URL和任何参数,Web应用程序开始工作。)
第二步:服务器完成某些处理并且生成一个视图。(当它处理完用户请求时,可能创建或者更新一个模型,它将职责移交给视图。)
第三步:使用HTTP响应把该视图传送回客户端。(视图使用HTTP响应把数据传输回客户端,比如使用HTML标记的页面,或者EXCEL文档的原始数据。)
Web开发中的请求-响应模型。Web客户端发起请求,Web服务器接收、处理并产生响应。一般Web服务器是不能主动通知Web客户端更新内容。
3.主流 Web MVC框架
好的Web框架把请求发送和处理区分开来,使用前端控制器Servlet(Front Controller Servlet)来实现发送HTTP请求行为。换句话说,分发器(dispatcher)决定需要哪个控制器来完成每个请求,而控制器完成实际的处理。主流Web MVC框架有:
Spring也是这样,用户发布的任何请求的主要入口是DispatcherServlet.该分发器Servlet必须在web.xml文件中声明。
CGI-->Servlet-->JSP-->Model1
CGI-->Servlet-->JSP-->Model2(WebMVC)-->Front Controller + Page Controller
标签:
原文地址:http://www.cnblogs.com/kjitboy/p/5101895.html