public void init() throws ServletException {
try {
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
DocumentBuilder db=dbf.newDocumentBuilder();

InputStream iStream=new FileInputStream("org.cumt.student.control.Config.xml");
Document doc=db.parse(iStream);

Element root=doc.getDocumentElement();
NodeList actions=root.getChildNodes();

if(actions!=null){
for(int i=0;i<actions.getLength();i++){
Node action=actions.item(i);
String attributeName=null,className = null,next=null;
for(Node node=action.getFirstChild();node!=null;node.getNextSibling()){
if(node.getNodeName().equals("AttributeName"))
attributeName=node.getFirstChild().getNodeValue(); if(node.getNodeName().equals("ClassName"))
className=node.getFirstChild().getNodeValue(); if(node.getNodeName().equals("next"))
next=node.getFirstChild().getNodeValue();
} Class newClass=Class.forName("org.cumt.student.model.action."+className);
Class nextClass=next.getClass();
Constructor cons=newClass.getConstructor(nextClass); this.getServletContext().setAttribute(attributeName, cons.newInstance(next));
}
}
} catch (FileNotFoundException e) {}......//下面有很多自动生成的catch段

}
*********************Config.xml文件(在org.cumt.student.control的包里面)*********************************
<?xml version="1.0" encoding="UTF-8"?>
<NextConfig>
<action>
<AttributeName>show</AttributeName>
<ClassName>ShowAction</ClassName>
<next>/show.jsp</next>
</action>
<action>
<AttributeName>add</AttributeName>
<ClassName>NullAction</ClassName>
<next>/insertData.html</next>
</action>
<action>
<AttributeName>insert</AttributeName>
<ClassName>InsertAction</ClassName>
<next>/next?cmd=show</next>
</action>
<action>
<AttributeName>edit</AttributeName>
<ClassName>EditAction</ClassName>
<next>/editData.jsp</next>
</action>
<action>
<AttributeName>save</AttributeName>
<ClassName>SaveAction</ClassName>
<next>/next?cmd=show</next>
</action>
<action>
<AttributeName>score</AttributeName>
<ClassName>ScoreAction</ClassName>
<next>/score.jsp</next>
</action>
</NextConfig>
********************************************************

解决方案 »

  1.   

    org.cumt.student.control.Config.xml
    这个是路径,不是类时面包的写法.你可以用绝对路径.一定行的!
      

  2.   

    InputStream iStream=new FileInputStream("org.cumt.student.control.Config.xml"); //有问题
    InputStream iStream=new FileInputStream("/config.xml");
      

  3.   


    InputStream iStream=new FileInputStream("org/cumt/student/control/Config.xml"); 
      

  4.   

    把Config.xml放到src下,
    InputStream iStream=new FileInputStream(Thread.currentThread().getContextClassLoader().getResourceAsStream("Config.xml"));