-
XML建模
建模:通过java代码将xml中元素节点的主从关系描述出来。以web.xml为例:
是否每次找web.xml中的数据都要读取一次web.xml。
实际是将web.xml中的数据读取出来转换成对象,每次访问调用对象。
案例:
<action path="/loginAction" type="test.LoginAction">
<forward name="failed" path="/login.jsp" redirect="false" />
<forward name="success" path="/main.jsp" redirect="true" />
</action>
分析:
-
将每个元素节点看作一个类,元素节点的属性就是类的属性,元素节点下的子元素节点就用集合来装。
创建一个模型类:ConfigModel、ActionModel、ForwardModel。ConfigModel中没有属性,只有0~N个ActionModel;
ActionModel中有属性path,type,还有0~N个ForwardModel;
ForwardModel中有属性name,path,redirect,没有子元素节点。
public class ConfigModel implements Serializable{
private Map<String, ActionModel> configMaps = new HashMap<String, ActionModel>();
//封装,重写get方法,put方法自己写
}public class ActionModel implements Serializable{
private String patht;
private String type;
private Map<String, ForwardModel> forwardMaps = new HashMap<String, ForwardModel>();
//封装,重写get/set方法,集合写put和get
}public class ForwardModel implements Serializable{
Map<String, String> configMaps = new HashMap<String, String>();
}注:一般类中放一个无参的构造方法。
写好后与xml对比下,写的这些类与xml结构是否匹配,缺什么补什么。
- 创建工厂类:ConfigModelFactory,用来生产ConfigModel。
工厂模式:私有化构造方法,创建静态代理方法。