MVC基本概念
一、基本概念:
MVC(Module-View-Controller)分别指:模型(实体)-视图-控制器;
二、MVC(Module-View-Controller)三大组件分工:
1,Module(实体模型):负责定义数据格式宇数据访问接口,其中包括业务逻辑,数据验证等……
2,View(视图): 负责接口的相关设计,包括输入,输出;
3,Controller(控制器):负责控制运行的流程,操作的逻辑,事件响应,错误等……
三、ASP.NET MVC优点:
1,将整个项目分为Module、View、Controller三层,相连但又不完全相连,因此更加的方便项目维护;
2,没有使用视图状态(ViewState)和服务器表单,因此对应用程序的可控制性就大大得提高;
3,应用程序通过Controller来控制程序的请求,因此提供了更方便的Url重写……。
四、ASP.NET MVC3与ASP.NET Web Form最明显区别:
1,ASP.NET MVC3不支持视图状态ViewState而ASP.NET Web Form支持;
2,ASP.ENT MVC3不支持页面追踪(Page.Trace)而ASP.NET Web Form支持;
3,ASP.NET MVC3不支持服务器控件(注释:只是部分)而ASP.NET Web Form支持;
4,ASP.NET MVC3不支持事件驱动模型(注释:所谓事件驱动模型指ASP.ENT Web Form中的Page_load等事件)而ASP.ENT Web Form支持;
Model部分
由ActionForm和JavaBean组成,其中ActionForm用于封装用户的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionFrom里面的请求参数处理用户的请求。
JavaBean则封装了底层的业务逻辑,包括数据库访问等。
View部分
该部分采用JSP实现。
Struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model的有效交互,并增加了现实功能。对应上图的JSP部分。
Controller组件
Controller组件有两个部分组成——系统核心控制器,业务逻辑控制器。
系统核心控制器,对应上图的ActionServlet。该控制器由Struts框架提供,继承HttpServlet类,因此可以配置成标注的Servlet。该控制器负责拦截所有的HTTP请求,然后根据用户请求决定是否要转给业务逻辑控制器。
业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用Model来完成处理。对应Action部分。