自定义MVC框架
一:什么是MVC?
MVC全名是Model(模型) - View(视图) - Controller(控制器)的缩写。
是一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码。
二:MVC结构
V -> jsp 表现层
C -> servlet / action
M -> 实体域模型(名词【实体类】) 、过程域模型(动词,如实体类要做CURD【Dao方法】)
开发PC端和移动端:M、C可以共用,V可以写成JSP\IOS\ANDROID
三: 创建Web项目
com.mvcdao【过程域】
entity【实体域】
framework【框架】
util【帮助类】
3.0 MVC工作流程思路:
第一步:浏览者 -->调用控制器(Controller),对他发出指令
第二步:控制器 -->按指令选取一个合适的模型(ActionServlet)
第三步:模型(ActionServlet & *.Model)-->按控制器指令取相应数据
第四步:控制器 -->按指令选取相应视图
第五步:视图 -->把第三步取到的数据按用户想要的样子显示出来
---------------------------一波操作流---------------------------
1.在framework下建中控器(ActionServlet类)
1.1继承HTTPServlet
1.2写一个ActionServlet的构造方法
1.3在web.xml配置ActionServlet映射关系
1.4在框架包(framework)中创建对XML文件建模(XMLModel)例如下图:
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;
}