【前言】
在上一节的自定义MVC基础上进行优化。
目录
【思维导图】
一、中央控制器动态加载存储子控制器
解析:
所以我们这里需要用到框架的配置文件。【config.xml】
代码展示:
<?xml version="1.0" encoding="UTF-8"?>
<config>
<action path="/book" type="com.chenchen.web.BookAction">
<forward name="success" path="/demo2.jsp" redirect="false" />
<forward name="failed" path="/demo3.jsp" redirect="true" />
</action>
<action path="/book" type="com.chenchen.web.BookAction">
<forward name="failed" path="/login.jsp" redirect="false" />
<forward name="success" path="/main.jsp" redirect="true" />
</action>
</config>
最终configModel对象会包含config.xml中的所有子控制器信息 【configModel】。
代码块展示:
package com.chenchen.framework;
import java.util.HashMap;
import java.util.Map;
/**
*
* @author ChenChen
*@date 2022年6月28日 下午12:50:52
*/
public class ConfigModel {
private Map<String, ActionModel> aMap = new HashMap<String, ActionModel>();
public void push(ActionModel actionModel) {
aMap.put(actionModel.getPath(), actionModel);
}//存值
public ActionModel pop(String path) {
return aMap.get(path);
}
}
下一步:将子控制器BookAction配置到配置文件中
获取BookAction全路径名放在config.xml中 解析: