自定义MVC框架

一:什么是MVC?

     MVC全名是Model(模型) - View(视图) - Controller(控制器)的缩写。
     是一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码。

二:MVC结构

      V  ->  jsp 表现层
     C  ->  servlet / action

     M  ->  实体域模型(名词【实体类】) 、过程域模型(动词,如实体类要做CURD【Dao方法】)


   注意:由上而下,上层依赖下层,不能跨层
   开发PC端和移动端:M、C可以共用,V可以写成JSP\IOS\ANDROID

三: 创建Web项目

   com.mvc
dao【过程域】
entity【实体域】
framework【框架】
util【帮助类】    

 3.0 MVC工作流程思路:
第一步:浏览者 -->调用控制器(Controller),对他发出指令
第二步:控制器 -->按指令选取一个合适的模型(ActionServlet)
第三步:模型(ActionServlet & *.Model)-->按控制器指令取相应数据
第四步:控制器 -->按指令选取相应视图
第五步:视图 -->把第三步取到的数据按用户想要的样子显示出来

自定义MVC框架

---------------------------一波操作流---------------------------

1.在framework下建中控器(ActionServlet类)

    1.1继承HTTPServlet

    1.2写一个ActionServlet的构造方法

    1.3在web.xml配置ActionServlet映射关系

    1.4在框架包(framework)中创建对XML文件建模(XMLModel)例如下图:

自定义MVC框架

    1.6需要先建三个Model类 一个工厂 factory类  

    1.7私有化配置模型ConfigModle

    private ConfigModel configModel; //包含整个系统的配置信息

    2.3写init初始化方法,配置Servlet对象(ServletConfig)

@Override
public void init(ServletConfig config) throws ServletException {
// TODO Auto-generated method stub
configModel = ConfigModelFactory.createConfigModel("/mvc.xml");
}

2.4创建查找Action的模型方法(根据path获得相对应的ActionModel,如根据/loginAction获得模型->"com.zking.mvc.action.LoginAction")

private ActionModel findActionModel(String path) {
ActionModel actionModel = configModel.get(path);
return actionModel;
}



3.创建子控制器抽象类:Action




 4.创建子控制器实现类:xxxxAction