实现mvc的步骤
1)构建控制器
Servlet作为控制器
2)MXL文件j
mxl可扩展标记语言:在src或util下面建立一个file,标记自己写;
xml的数据信息写入到内存中:引入dom4j架包
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import org.dom4j.*;
import org.dom4j.io.SAXReader;
import com.gxa.bj.action.IActionHandller;
/**
* @thor chenqing
*用于读取Xml的想关数据信息
*/
public class XmlHelp {
/**
* @return
* 把XML中的数据转换成集合中的数据
*/
public static Map<String,IActionHandller> getData(){
SAXReader reader = new SAXReader();
HashMap<String, IActionHandller> map = new HashMap<String, IActionHandller>();
try {
// 通过文件流的方式读取XML文件并转换成Document对象。内存中表示该文件的对象。
Document document = reader.read(XmlHelp.class
.getResourceAsStream("/mvc.xml"));
Element root = document.getRootElement();// 找到根元素
for (Iterator<?> i = root.elementIterator(); i.hasNext();) {
Element element = (Element) i.next();
String actionName="";
IActionHandller actionHandller =null;
for (int j = 0, size = element.attributeCount();j < size; j++) {
//读取属性值
Attribute node = element.attribute(j);
//找到Attribute属性
if(node.getName().equals("name")){
actionName = node.getText();
}
if(node.getName().equals("class")){
try {
actionHandller = (IActionHandller) Class.forName(node.getText()).newInstance();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
map.put(actionName, actionHandller);
}
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return map;
}
/*public static void main(String[] args){
getData();
}*/
}