MVC思想概述

fangyuylc 2013-11-24

MVC思想将应用中的各组件按功能分类,不同的组件使用不同的技术充当,甚至推荐了严格分层,不同组件呗严格限制在其所在层内,各层之间以松耦合的方式组织在一起,从而提供良好的封装。

Java Web 的应用结构之Model2已经是基于MVC架构的设计模式。在Model2 的架构中,Servlet作为前端控制器,负责接收客户端发送的请求,在Servlet中只包含控制逻辑和简单的前端处理;然后,调用后端的JavaBean来完成实际的逻辑处理;最后,转发到相应的jsp页面处理显示逻辑。

经典的MVC模式中,事件由控制器处理,控制器根据事件的类型改变模型或视图,反之亦然。

Web应用都是基于请求、响应模式的。

MVC有如下特点:

①:多个视图可以对应一个模型

②:模型返回的数据与显示逻辑分离

③:应用被分隔为三层,降低了各层之间的耦合,提供了应用的可扩展性。

④:控制层把不同的模型和不同的视图组合在一起,完成不同的请求。因此控制层可以说是包含了用户请求权限的概念

⑤:更符合软件工程化管理的精神。不同的层各司其职,每一层的组件具有相同的特征,有利于通过工程化和工具化产生管理程序代码。

 MVC框架的底层机制是:核心servlet或Filter接收到用户请求后,通常会对用户请求进行简单的预处理,例如解析,封装参数等,然后通过反射来创建Action实例,并调用Action的指定方法(Struts1通常是execute,Struts2可以是任意方法)来处理用户请求。

当Servlet或Filter拦截用户请求后,通过以下两种方法确定创建那个Action实例。

①:利用配置文件

②:利用约定:例如,我们可以约定xxx.action总是对应XxxAction类

相关推荐